You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从指定日期开始每90天运行Jenkins Pipeline Cron触发任务?

Jenkins PipelineTrigger 90天间隔触发配置问题

你的当前配置pipelineTriggers([cron('0 1 01 */3 *')])无法实现从指定日期(2022年11月20日)开始每90天运行一次的需求,原因如下:

  • 这个cron表达式的逻辑是每个季度的1号凌晨1点触发(*/3代表每3个月),但月份天数存在差异,实际间隔并非严格的90天(比如11月到次年2月间隔约90天,但2月到5月可能是90或91天)。
  • 触发起始时间是每个季度的第一天,和你要求的2022年11月20日完全不符。

可行解决方案

方案1:使用TimerTrigger插件(推荐)

Jenkins的TimerTrigger插件支持按固定天数间隔触发,并且可以指定起始日期,完美匹配你的需求。
配置示例:

pipelineTriggers([
    timerTrigger('H 1 */90 * *', startDate: '2022-11-20')
])
  • H:Jenkins的哈希值,用于避免大量任务同时触发导致负载过高,也可替换为固定数字(比如1)。
  • 1:触发的小时数(凌晨1点)。
  • */90:每90天触发一次。
  • startDate: '2022-11-20':指定首次触发的起始日期。

方案2:手动编写多组cron表达式(无插件)

如果不想安装插件,可以手动计算出所有符合90天间隔的日期,将每个日期对应的cron表达式添加到触发器中。
比如2022-11-20、2023-02-18、2023-05-19、2023-08-17等日期,配置示例:

pipelineTriggers([
    cron('0 1 20 11 *'),
    cron('0 1 18 2 *'),
    cron('0 1 19 5 *'),
    cron('0 1 17 8 *')
    // 后续日期可继续添加
])

缺点是需要定期更新cron表达式,长期维护较为麻烦。

内容的提问来源于stack exchange,提问作者ChrisH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:31:19