Я использую Jenkins для создания проектов Maven Java и развертывания их в хранилище Nexus. Я также использую Git, хотя я больше привык к Subversion, поэтому мои знания Git ограничены.Добавочная версия проекта Maven с Jenkins/Git
Я хотел Jenkins/Maven для:
- Объединить функцию филиал в интеграции филиал
- Сложения присоединяемых код, запустить блок тестирует
- Если они проходят, увеличивают Maven номер версии
- Нажмите объединенный код в филиал интеграции происхождения
- Разверните артефакт в хранилище Nexus
Я собираю слияние Git может быть достигнуто следующим образом: http://twasink.net/2011/09/20/git-feature-branches-and-jenkins-or-how-i-learned-to-stop-worrying-about-broken-builds/
Я также читал много о maven-release-plugin
.
Я не уверен, как именно достичь вышеуказанных результатов. Если я жестко запрограммирую данные SCM в POM каждого проекта, то будет ли maven-release-plugin
действовать только на , если репозиторий, а не местный Jenkins?
Если я использую решение о том, что Jenkins передает переменную окружения Maven для указания номера версии, я бы ожидал, что в моей среде IDE будут проблемы с локальной версией.
См. [Плагин версии maven] (http://mojo.codehaus.org/versions-maven-plugin/) 'mvn versions: use-next-релизы' или' mvn-версии: set -DnewVersion = xyz' –
Привет , Я попробовал mvn-версии: set -DnewVersion = xyz, но когда артефакт, который развертывается в Nexus, по-прежнему кажется, имеет установленный старый номер версии, хотя я вижу в журналах, что переменная была передана Maven. –
Вы правы, потому что вы нажимаете исходные источники (перед компиляцией). Вы должны нажать источники из рабочего пространства jenkins ... –