【问题标题】:Continuous integration creates a build loop持续集成创建了一个构建循环
【发布时间】:2018-12-13 07:23:55
【问题描述】:

我在 github 中有一个 Webhook 用于我的存储库,当推送到 master 分支时触发,然后 webhook 在 Jenkins 中启动构建

在构建过程结束时,我更改了 pom 中的版本并将其再次推送到 master,这将再次触发 webhook 并在 Jenkins 中进行构建循环。

对此我有什么办法吗?这种情况的更好做法是什么?

谢谢

【问题讨论】:

    标签: jenkins github continuous-integration continuous-deployment


    【解决方案1】:

    当您提交新更改时,您可以使用特定消息提交,例如('pom modified from jenkins build')。然后在 Jenkins Git 插件中添加一条规则以忽略带有该消息的提交(“轮询忽略带有某些消息的提交”,使用精确或模式)。这样可以避免无限循环!

    【讨论】:

    • 所以我有一个类似"Release new version $NEW_VERSION" 的提交消息,但即使我将排除模式设置为.*,这是构建仍会触发的每个字符。
    • 如果有人有这个问题,你可以在这里找到解决方案stackoverflow.com/questions/36398867/…
    【解决方案2】:

    尝试通过将更新的 pom 推送到构建最终版本的专用“release”分支来打破循环(并且您提到的 webhook 未处于活动状态)

    从那里开始,任何新开发都应首先合并最新版本(并获取更新的 pom),然后再提交新的提交以将下一个功能合并到 master。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-29
      • 1970-01-01
      • 2010-09-29
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2021-08-11
      相关资源
      最近更新 更多