首页 > 解决方案 > 仅当 cron 触发时才在 Jenkinsfile 中设置 Jenkins 变量

问题描述

我想每个第二个星期二触发一次 Jenkinsjob。到目前为止,我学到的是,这不可能那么容易。所以我正在尝试这样的事情:

stage('Setup build schedule') {
  properties([
    pipelineTriggers([
      cron('0 20 * * 2')
    ])
  ])
}

def build_number = env.BUILD_NUMBER as int
if ((build_number % 2) == 0) { 
... 
}

没关系。但有时我也想手动触发这个 Multibranch-Pipeline Job。是否可以仅在 cron 触发启动期间设置变量?然后我可以检查是否设置了这个变量,如果没有,我知道它是由handy触发的,然后继续?

标签: jenkinsgroovyjenkins-pipeline

解决方案


您正在寻找类似于 BUILD_CAUSE.Jenkins 管道不直接支持原因的东西。下面有文章链接。您可以使用管道脚本中的 BUILD_CAUSE 变量来设置变量。

构建原因 Jenkins 流水线


推荐阅读