现在我手动配置我的所有multibranch管道作业,并将“Scan Multibranch Pipeline Triggers”设置为3分钟。
如何将其放入我的jenkins文件中?我找不到这个例子。扫描多分支管道触发器是否在“触发器{}”块中可用?
答案 0 :(得分:9)
multibranch配置页面上的设置仅配置多分支扫描作业本身,而不是在multibranch"文件夹中创建的各个作业"。
" Scan Multibranch Pipeline Triggers"下的选项;说"定期如果没有另外运行"只是多分支作业扫描新分支时的触发器。如果发现对现有分支进行了更改,或者如果使用与您的分支规范匹配的Jenkinsfile发现新分支,则将触发新构建,但这不是触发作业的方式。
实际上,通过向SCM配置添加属性以禁用自动SCM触发",可以在发现更改时禁用自动构建。然后,您将看到多分支扫描触发器,但即使发现了更改,作业本身也不会构建。
要触发作业,理想情况下,如果可以,您应该使用webhook。如果您使用git插件(而不是github插件)使用git hook,那么您需要启用PollSCM触发器(尽管您可以将其设置为仅极少轮询或根本不轮询)。
如果您只想要正常的触发选项,从2.22开始,您可以配置cron
或pollSCM
触发器。
pipeline {
triggers {
cron('H/4 * * * 1-5')
pollSCM('0 0 * * 0')
}
然后我相信您可以配置webhooks以通知您的多分支作业何时进行扫描。我还没试过。我只是告诉它每天使用"每隔一小时或几次扫描;如果不是另外运行则定期扫描#34;
注意,同样的事情适用于构建discarder以及您在multibranch作业中配置的其他内容。在Web UI中,您只能配置多分支作业本身,而不能配置从其创建的单个作业。您必须使用Pipeline配置作业。
答案 1 :(得分:2)
在dsl中,您可以添加以下行来配置"扫描多分支管道触发器
configure {
it / 'triggers' << 'com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger'{
spec '* * * * *'
interval "60000"
}
}