Jenkins:使用 job-dsl/pipeline 语法的多个 cron 表达式
Posted
技术标签:
【中文标题】Jenkins:使用 job-dsl/pipeline 语法的多个 cron 表达式【英文标题】:Jenkins: Multiple cron expressions using the job-dsl/pipeline syntax 【发布时间】:2018-08-10 05:25:36 【问题描述】:在 Jenkins 作业配置的 Build Triggers 部分中,可以在 Schedule 文本区域的每一行添加多个分隔的 cron 表达式,例如:
13 20 * * 0,1,2,3,4,5,6
13 8 * * 0,1,2,3,4,5,6
https://***.com/a/44209349/1291886
如何使用 job-dsl/pipeline 语法做到这一点?
【问题讨论】:
【参考方案1】:使用 job-dsl 语法:
triggers
cron('13 20 * * 0,1,2,3,4,5,6 \n 13 8 * * 0,1,2,3,4,5,6')
来自 job-dsl 文档:
要配置多行条目,请使用单个触发字符串 以 \n 分隔的条目。
https://jenkinsci.github.io/job-dsl-plugin/#path/freeStyleJob-triggers-cron
【讨论】:
【参考方案2】:我建议将行 13 20 * * 0,1,2,3,4,5,6
更改为 13 20 * * 0-6
,细节中的美。
【讨论】:
【参考方案3】:由于cron
支持字符串参数,试试这个用字符串操作concat与下一行(\n
):
cron('41 12 20 10 *' + '\n 41 12 5 11 *' + '\n 41 12 15 11 *')
【讨论】:
以上是关于Jenkins:使用 job-dsl/pipeline 语法的多个 cron 表达式的主要内容,如果未能解决你的问题,请参考以下文章