jenkins 仅在推送到主服务器时触发构建

n3ipq98p  于 2022-11-21  发布在  Jenkins
关注(0)|答案(2)|浏览(174)

我正在使用Jenkins和Github Plugin,我已经使用GitHub的webhook集成了它,它的工作就像一个魅力,除了每次有东西被推到仓库时都会触发构建。
是否有一种方法可以仅在对远程分支master进行更改时限制构建?

q7solyqu

q7solyqu1#

行动计划

  • 打开Jenkins作业配置
  • 转到 * 源代码管理 * 部分
  • Git 部分
  • 对于字段 * 要构建的分支 ,添加值**/master**

这告诉Jenkins作业,仅在将某些内容推送到分支 master 时执行作业。

**图:**显示仅用于构建分支 * 主 * 的配置。

csga3l58

csga3l582#

可以选择使用带when子句的管道作业。
请参阅trigger jenkins jobs only when a specific branch is updated
如果branch表达式不起作用,可以使用here描述的替代方法。

when {
  expression {
    return sh(script: "git rev-parse --abbrev-ref HEAD", returnStdout: true).trim() == "main"
  }
}

这是一个示例。

pipeline {
    agent any

    stages {
        stage('Checkout SCM') {
          steps {
            git(credentialsId: 'YOUR_JENKINS_SSH_KEY', url: 'ssh://git@<YOUR-GIT-REPO-URL>.git')
          }
        }
        
        stage('Build') {
            when {
              expression {
                return sh(script: "git rev-parse --abbrev-ref HEAD", returnStdout: true).trim() == "main"
              }
            }
            steps {
                echo "main"
                // DO STUFF
            }
        }
    }
}

相关问题