我可以限制民意调查SCM作业一天只运行一次吗?

时间:2016-06-15 05:51:28

标签: jenkins jenkins-plugins jenkins-workflow jenkins-pipeline

我有一个民意调查SCM工作,它每5分钟轮询一次Perforce中的更改。但是我需要在一天内对perforce中的文件进行第一次编辑时触发该作业。我可以限制民意调查SCM作业一天只运行一次吗?

2 个答案:

答案 0 :(得分:2)

詹金斯本身并不提供这种行为("每天只进行第一次更改")。

你需要把它分成两部分;第一个轮询SCM,第二个小心,这项工作每天不会运行一次以上。

可能的解决方案:

  • 保持当前的轮询工作,每5分钟检查一次更改
  • 添加一个构建步骤,该步骤将在运行后禁用该作业(从而阻止在此日再次运行)
  • 创建另一个作业,每天早上0点(重新)启用轮询作业,以便轮询作业可以在下一次更改时运行

如果你不想看到投票工作进入"禁用"状态,然后您还可以在运行结束时从作业配置中删除作业的SCM轮询,并让第二个作业重新建立。由于您需要修改作业配置,因此这有点复杂。

无论如何,"改变"将始终引用轮询作业的最后一次运行。因此,如果在第1天有两个更改A和B,那么轮询作业将为" A"在第1天,然后立即再次为" B"在第2天。

答案 1 :(得分:0)

您需要标记Poll SCM而不是Build Periodically

Poll SCM中,您可以编写一个类似cron的条目,您的轮询应该多久运行一次,例如:每天一次(凌晨1点运行):

0 1 * * *