如何配置Jenkins Pipeline仅对main分支执行定时构建?
实现仅main分支触发定时构建的方案
你可以通过动态设置流水线属性的方式,让定时触发器只对main分支生效,修改后的Jenkinsfile如下:
pipeline { agent { node { label 'docker' } } environment{ VAR1 ='VAL1' } stages { stage('Configure Triggers') { steps { script { // 判断当前分支是否为main if (env.BRANCH_NAME == 'main') { // 为main分支添加定时触发器 properties([pipelineTriggers([cron('0 0 12 ? * TUE *')])]) } else { // 其他分支移除定时触发器,避免继承 properties([pipelineTriggers([])]) } } } } stage('build'){ steps{ cleanWs() } } } }
关键说明:
env.BRANCH_NAME是Jenkins内置的环境变量,自动获取当前构建对应的分支名称properties步骤用于动态修改流水线的配置,这里用来添加/移除定时触发器- 非
main分支执行时会清空触发器配置,确保定时任务不会触发这些分支的构建
内容的提问来源于stack exchange,提问作者kagarlickij
相关产品推荐
相关产品推荐

