防止詹金斯循环上游触发器

时间:2018-09-27 09:11:54

标签: jenkins triggers

我有一些jenkins作业,这些作业是由build.result = SUCCESS上的上游触发器或手动触发的。作业具有循环依赖性。例如,采用这种情况:

JOB_1: have as upstream trigger JOB_2
JOB_2: have as upstream trigger JOB_1

图:

   JOB_1
^         |
|         V
<- JOB_2 <-

如果我启动JOB_1,将产生一个无限循环。为了防止这种情况,我研究了几种方法。

  1. 使用作业历史记录,并在作业历史记录列表中找到自己时,将构建结果设置为NOT_BUILT。但是,这不是我需要的方法,因为如果以前执行过,我不想启动另一个作业。我想进行一个预构建步骤,以防止再次执行该作业。
  

if(currentBuild.rawBuild.getCause(hudson.model.Cause $ UpstreamCause).toString()。contains(env.JOB_NAME))   {                     currentBuild.result ='NOT_BUILT'                      返回           }

  1. 使用插件:限制构建执行原因 如果我对工作名称设置了测试限制,那将是行不通的,无论如何这都不是我所需要的,因为我想检查第1条所述的条件。

  2. 我发现了有关参数触发上游触发器的一些详细信息 https://wiki.jenkins.io/display/JENKINS/Parameterized+Trigger+Plugin

您对此主题有什么资料吗?谢谢。

0 个答案:

没有答案