由于推动触发器,使Jenkins停止循环

时间:2014-11-28 22:28:30

标签: github jenkins continuous-integration

我对Jenkins的目标是自动从github分支触发构建,构建应用程序,对源进行更新,然后将源更新推送到同一分支。

一切正常,除了我发现自己处于循环中。我正在使用构建触发器“将更改推送到GitHub时构建”。

当我从作业中将更新推送到同一分支时,它会再次触发构建,将整个过程置于循环中。

我想要做的是以某种方式暂停此触发器,直到整个工作完成。

(我碰巧正在构建一个xcode项目并更新plist中的构建版本号...不确定这与手头的问题直接相关)

2 个答案:

答案 0 :(得分:3)

  

当我从作业中将更新推送到同一分支时,它会再次触发构建,将整个过程置于循环中。

然后最好推送到不同的分支,考虑到这一点,即使GitHub webhook再次触发,至少它会触发JSON payload,用,对于push event具有不同的分支名称

ref string The full Git ref that was pushed. Example: “refs/heads/master”

通过检查该有效负载中分支推送的名称,您将能够避免循环。

答案 1 :(得分:0)

我发现自己处在同一个conondrum中,并且找到了答案:

https://liviutudor.com/2015/12/09/jenkins-ci-trick-to-prevent-task-from-triggering-itself-on-scm-commit/#sthash.j7YTr3l0.dpbs

基本上,您可以选择“轮询忽略特定用户的提交”选项,然后添加您的漫游器用户名=]

简单而优雅