0

我正在使用 Maven 发布插件来自动化构建和发布过程。它工作正常,但我面临一个问题。

我创建了一个工作,每 15 分钟检查一次主干,如果发现任何更改,它就会启动构建和发布过程。它工作正常。

但是,小问题是在release:prepare执行时,它正在创建标签并自动将 trunk/pom.xml 版本(带有 SNAPSHOT)增加到下一个版本版本-SNAPSHOT。

假设我当前的构建版本是 2.0-SNAPSHOT。成功构建后,仅使用 2.0(没有 SNAPSHOT)创建标签。它还会自动将主干内的 pom.xml 增加到 2.1-SNAPSHOT。

问题是,当我的 Jenkins (crontab) 每 15 分钟检查一次主干时,会在主干内发现一个新版本(即 pom.xml)。它再次创建另一个构建。这个过程一次又一次地发生。我知道主干中没有代码更改,只有版本通过release:prepare命令增加。

下面我给出 Jenkins 的屏幕截图以供参考。

詹金斯设置

任何帮助,将不胜感激。

提前致谢。

4

2 回答 2

1

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

不清楚您是否还安装了 Jenkins M2 发布插件?它提供了一个方便的“发布”按钮来触发您工作的发布版本。

于 2013-09-13T06:13:43.523 回答
0

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

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

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

在此处输入图像描述

于 2013-09-13T13:48:18.167 回答