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 表达式的主要内容,如果未能解决你的问题,请参考以下文章

使用Jenkins docker镜像运行Jenkins服务

1. Jenkins 入门使用

jenkins使用遇到问题记录

如何使用jenkins部署jar包

使用 Jenkins Rest API 安排 Jenkins 作业

jenkins的基本配置和使用