詹金斯·维尔。2.150.3
我已经建立了一条多分支管道。我使用声明式Jenkinsfile。我有一套工作需要很长时间才能完成。我想把这些花翻个通宵找任何有变化的树枝。
在过去,可以使用“抑制自动SCM触发”选项和cron触发器来实现更改的分支的夜间构建。(见Run nightly jobs on multibranch pipeline with declarative Jenkinsfile
我不能再访问“抑制自动SCM触发”选项。

即使分支中的代码没有更改,下面的触发器也将运行。
triggers {
cron('H 0 * * * *')
}如果分支中有更改,则运行以下代码。然而,Jenkins多分支项目似乎是从push而不是pollSCM触发的。这似乎没有达到我想要的结果,即如果有变化,每个分支每晚运行一次。
triggers {
pollSCM('H 0 * * * *')
}只有在每个分支中存在更改时,如何配置Jenkins才能实现每个分支的夜间作业?
发布于 2019-08-22 10:38:29
添加从评论到这里的答复。
您可以通过使用以下脚本来实现这一点:
triggers {
pollSCM ignorePostCommitHooks: true, scmpoll_spec: 'H H * * *'
}使用指令生成器(可在<yourJenkinsUrl>/directive-generator/上获得),您可以生成实例中可用的脚本+参见一些文档,f.e.:
为了允许定期调度的任务在系统上产生均匀的负载,应该尽可能使用符号H(表示“散列”)。例如,将0***用于12项日常工作将在午夜造成很大的增长。相反,使用H***仍然可以每天执行每个作业一次,但并不是全部同时执行,更好地使用有限的资源。
https://stackoverflow.com/questions/57514700
复制相似问题