Zac*_*Weg 5 jenkins jenkins-pipeline
我有一个参数化的Jenkins多分支管道,使用GitHub存储库作为Jenkinsfile和一些脚本的源。管道配置为在Webhooks上触发分支和请求请求,但我也希望仅对master分支(特别是在工作日每4小时)使用参数化的cron触发器。
我正在使用声明性管道语法,但如有必要,我愿意使用脚本化管道。
我正在使用参数化的调度程序插件来实现带有参数的cron触发器。
该管道示例捕获了我试图实现的目标,但不支持该目标:
pipeline {
triggers {
when { branch "master" }
parameterizedCron('H */4 * * 1-5 % ABC=XYZ')
}
stages {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
Jenkins对此功能有一个未解决的问题:JENKINS-42643,但它似乎尚未开发。
Zac*_*Weg 12
使用三元运算符适用于我的用例。只为 master 分支安排构建:
pipeline {
triggers {
parameterizedCron(env.BRANCH_NAME == 'master' ? '''
# schedule every 4hours only on weekdays
H */4 * * 1-5 % ABC=XYZ''' : '')
}
parameters {
string(name: 'ABC', defaultValue: 'DEF', description: 'test param')
}
stages {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |