【问题标题】:Jenkins multiple cron triggers with different build parametersJenkins 具有不同构建参数的多个 cron 触发器
【发布时间】:2020-07-10 22:46:12
【问题描述】:

我在我的 Jenkins 脚本中使用参数化的 cron 来运行 2 组不同的构建参数 - 一个在生产中每 5 分钟运行一次,在暂存中每 15 分钟运行一次。生产版每 5 分钟运行一次,但暂存版未运行。有人可以告诉我我可能缺少什么吗?

properties([
    pipelineTriggers([parameterizedCron(env.BRANCH_NAME != 'master' ? '''                                                                         
                                                                        H/5 * * * * % environment=production
                                                                        H/15 * * * * % environment=staging''' : '')]),
    parameters([
        choice(name: 'environment', defaultValue: 'sandbox', choices: ['sandbox', 'staging', 'production'], description: "etc")
    ])
])

A 做了如下的轻微修改,令人惊讶的是这次只有登台运行

properties([
    pipelineTriggers([parameterizedCron('''H/2 * * * * % environment=production'''), parameterizedCron('''H/4 * * * * % environment=staging''')]),
    parameters([
        choice(name: 'environment', defaultValue: 'sandbox', choices: ['sandbox', 'staging', 'production'], description: "etc")
    ])
])

我找不到任何一个只能半途而废的原因。

谁能告诉我可以改变什么来解决这个问题?

【问题讨论】:

    标签: jenkins triggers cron jenkins-pipeline parameterized


    【解决方案1】:

    H/5 计划可能会覆盖 H/15 计划,因为它们之间存在冲突,因此不清楚应该使用哪些参数,例如在第 15 分钟。 (您可能希望使用不同的参数运行两次,但不清楚插件是否理解这一点。)

    您可以尝试准确指定:

        pipelineTriggers([parameterizedCron(env.BRANCH_NAME != 'master' ? '''                                                                         
           0,5,10,15,20,25,30,35,40,45,50,55 * * * * % environment=production
           0,15,30,45 * * * * % environment=staging''' : '')]),
    

    【讨论】:

      【解决方案2】:

      似乎有一个已知的错误已打开 https://issues.jenkins-ci.org/browse/JENKINS-49921。作为一种解决方法,可以按照错误本身的建议将运行间隔开。

      这对我有用

      pipelineTriggers([parameterizedCron('''
                                                                              # Every 10 mins in production
                                                                              */10 * * * * %environment=production
                                                                              # Every 22 minutes in staging
                                                                              */22 * * * * %environment=staging
                                                                          ''' : '')])
      

      【讨论】:

        猜你喜欢
        • 2022-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-07
        • 2020-09-09
        • 1970-01-01
        • 2016-10-07
        • 1970-01-01
        相关资源
        最近更新 更多