我正在使用Maven Release Plugin来实现构建和自动化。释放过程。它工作正常,但我面临一个问题。
我创建了一个工作,即每15分钟检查一次中继,如果发现任何更改,则启动构建&释放过程。它的工作正常。
但是,小问题是当release:prepare
正在执行时,它正在创建标记并自动将trunk / pom.xml版本(使用SNAPSHOT)增加到下一个版本-SNAPSHOT。
假设我当前的构建版本是2.0-SNAPSHOT。 成功构建后,创建只有2.0的标签(没有SNAPSHOT)。 它还会自动将主干内的pom.xml增加到2.1-SNAPSHOT。
问题是,当我的Jenkins(crontab)每15分钟检查一次主干时,会在主干内找到一个新版本(即pom.xml)。它又创造了另一个构建。这个过程一次又一次地发生。我知道在trunk中没有代码更改,只有版本增加了release:prepare
命令。
下面我将提供Jenkins的屏幕截图供参考。
任何帮助将不胜感激。
提前致谢。
答案 0 :(得分:1)
通常在Maven中,快照构建由源代码中的更改触发,并且发布构建是按需创建的(代码发布时)。这是Maven发布插件支持的工作流程。
目前尚不清楚您是否还安装了Jenkins M2 release plugin? 它提供了一个方便的“释放”按钮,可以触发您工作中的发布版本。
答案 1 :(得分:0)
您似乎已将发布目标放在标准构建部分的“目标和选项”部分中。这定义了签入新代码时发生的构建。
您应该将“目标和选项”更改为clean deploy
(仅将快照部署到远程存储库。
然后,您应该单击“构建环境”部分下的“Maven发布版本”复选框。它将预先填充标准版本命令。只有当您单击作业首页上的“执行Maven发布”按钮时,才会运行这些命令。