【问题标题】:How to automate a job in Jenkins?如何自动化詹金斯的工作?
【发布时间】:2013-09-13 05:34:46
【问题描述】:

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

任何帮助将不胜感激。

提前致谢。

【问题讨论】:

    标签: svn maven jenkins maven-release-plugin


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢你的回答。但是,你怎么知道我没有安装M2 Release Plugin?
    • 已经安装了 Maven 发布插件。我想可能还有其他问题。
    【解决方案2】:

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

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

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

    【讨论】:

    • 感谢您的回答。但是,我不想点击“执行 Maven 发布”。它应该是自动化的。现在一切正常,只需要当 jenkin 发现主干中的更改时,它就会自动构建和发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    • 2014-07-10
    相关资源
    最近更新 更多