Jenkins 使用声明性文件在多分支管道上运行夜间作业
詹金斯版本2.121.2 我已经建立了一个多分支管道。我使用的是一个声明性文件 我有一套测试需要很长时间才能运行。我希望这些运行在夜间的任何分支有变化 我尝试了一些方法,但我目前的失败尝试是:Jenkins 使用声明性文件在多分支管道上运行夜间作业,jenkins,jenkins-pipeline,jenkins-declarative-pipeline,Jenkins,Jenkins Pipeline,Jenkins Declarative Pipeline,詹金斯版本2.121.2 我已经建立了一个多分支管道。我使用的是一个声明性文件 我有一套测试需要很长时间才能运行。我希望这些运行在夜间的任何分支有变化 我尝试了一些方法,但我目前的失败尝试是: 在作业>配置下,我已启用“抑制SCM自动触发” 将“定期扫描多分支管道触发器”>“如果不运行,则定期扫描”设置为1分钟(仅用于测试,我会在它工作时增加此值) 在我的Jenkins文件中(例如凌晨4点运行),我还尝试了使用pollSCM(): 在“扫描多分支管道日志”中,我看到以下内容,但在凌晨4点(我
- 在作业>配置下,我已启用“抑制SCM自动触发”
- 将“定期扫描多分支管道触发器”>“如果不运行,则定期扫描”设置为1分钟(仅用于测试,我会在它工作时增加此值)
pollSCM()
:
在“扫描多分支管道日志”中,我看到以下内容,但在凌晨4点(我的文件中的触发器()
中的时间)没有作业运行:
请问我做错了什么
编辑: 因此,我尝试了以下设置: 将cron设置为每15分钟一次
triggers {
cron('5,20,35,50 * * * *')
}
删除了UI“抑制SCM自动触发”中“配置”下的设置
但它只是在轮询发生的那一分钟开始运行(在这个测试中是16分钟过去)
我什么都不做似乎在关注我的cron设置
如果我在UI中的分支作业下“查看配置”,它将显示我的Jenkins文件ok中的UI设置
编辑(再次!): 因此,在最后一次编辑中,它确实立即运行,然后在cron时间再次运行 现在在UI中再次启用设置“抑制SCM自动触发”
我让它工作了!我意识到的主要问题是(a)在第一次运行之后,在Jenkins文件中进行更改之前,不会应用更改吗?(b) 此外,我还安装了下一个执行插件,以便更好地了解它的计划。这里的问题是multibranchPipelineJob中声明的触发器用于扫描multibranch。要在管道中定期运行作业,请执行以下操作:
pipeline {
triggers {
cron('45 6 * * 1-5')
}
agent {
...
triggers {
cron('5,20,35,50 * * * *')
}
pipeline {
triggers {
cron('45 6 * * 1-5')
}
agent {
...