Я использую Jenkins Pipeline для автоматической сборки и развертывания своих приложений Java. Я также использую maven-release-плагин для развертывания Maven в Artifactory.
Проблема заключается в моем файле Jenkins (или в конфигурации Jenkins Pipeline):
- Мы передаем версию 0.1.00-SNAPSHOT в ветке release
- Jenkins Pipeline получит код и выполнит выпуск maven
- Maven Release изменяет версию на 0.1.00
- Maven Отметить теги GIT ветвь, зафиксировать и развернуть артефакт
- Maven Release изменяет версию на 0.2.00-SNAPSHOT и фиксирует
- Труба Jenkins обнаруживает изменение в GIT, поэтому запускает новую сборку
Вы поняли, что последний шаг создает бесконечный цикл, даже если нет полезной фиксации.
Вот интересная часть моего файла Jenkins:
sshagent([git_credential]) {
sh "${maven_bin} --settings ${maven_settings} -DreleaseVersion=${release_version} -DdevelopmentVersion=${development_version} release:prepare release:perform -B"
}
Как я могу сломать цикл (избегайте Jenkins запускать новую сборку, когда Maven фиксируется на GIT)?
Спасибо