如何在詹金斯自动化工作?

时间:2013-09-13 05:34:46

标签: svn maven jenkins maven-release-plugin

我正在使用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的屏幕截图供参考。

Jenkins settings

任何帮助将不胜感激。

提前致谢。

2 个答案:

答案 0 :(得分:1)

通常在Maven中,快照构建由源代码中的更改触发,并且发布构建是按需创建的(代码发布时)。这是Maven发布插件支持的工作流程。

目前尚不清楚您是否还安装了Jenkins M2 release plugin? 它提供了一个方便的“释放”按钮,可以触发您工作中的发布版本。

答案 1 :(得分:0)

您似乎已将发布目标放在标准构建部分的“目标和选项”部分中。这定义了签入新代码时发生的构建。

您应该将“目标和选项”更改为clean deploy(仅将快照部署到远程存储库。

然后,您应该单击“构建环境”部分下的“Maven发布版本”复选框。它将预先填充标准版本命令。只有当您单击作业首页上的“执行Maven发布”按钮时,才会运行这些命令。

enter image description here