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

Jenkins when条件构建触发规则咨询及指定分支构建配置

问题解答

问题1:该when条件是否会在任意Git分支的标签推送(TAG_PUSH)时触发构建?

是的,当前的when条件只校验环境变量gitLabActionType的值是否为TAG_PUSH,完全不做分支校验。不管标签是基于哪个分支创建并推送的,只要是标签推送操作,这个release build阶段就会被触发。

问题2:如何配置为在特定Git分支(develop)的提交推送时触发构建?

需要调整when块的判断条件,核心是两个修改:

  • 把触发动作从标签推送(TAG_PUSH)改为普通提交推送对应的PUSH(GitLab触发Jenkins时,普通分支的提交推送会将gitLabActionType设为PUSH)
  • 新增分支校验规则,限定仅develop分支的推送才触发

修改后的代码片段如下:

stage('release build') {
      agent {
          label 'label-name'
      }
    
      when {
           beforeAgent true
           environment name: "gitLabActionType", value: "PUSH"
           environment name: "gitLabBranch", value: "develop"
           // 也可以用Jenkins内置的分支变量简化写法:branch 'develop'
      }
      steps{
           script{
                // read artifactory info in env
           }
           script {
                // docker build
           }
           script {
               // docker push
           }
      }
}

如果你的Jenkins环境中BRANCH_NAME变量更稳定,直接用branch 'develop'替换分支相关的environment判断也能达到同样效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 18:53:20