git - 在 Jenkins Pipeline/Jenkinsfile 中获取 git 分支名称

标签 git jenkins branch jenkins-pipeline

我已经创建了一个 jenkins 管道,它正在从 scm 中提取管道脚本。
我将分支说明符设置为“all”,因此它建立在对任何分支的任何更改之上。

如何从 Jenkinsfile 访问导致此构建的分支名称?

除了

sh(returnStdout: true, script: 'git rev-parse --abbrev-ref HEAD').trim()

始终是 master

最佳答案

使用多分支管道 作业类型,而不是普通的管道 作业类型。多分支管道作业确实拥有描述分支的环境变量 env.BRANCH_NAME

在我的脚本中..

stage('Build') {
    node {
        echo 'Pulling...' + env.BRANCH_NAME
        checkout scm
        
    }
}

产量...

Pulling...master

关于git - 在 Jenkins Pipeline/Jenkinsfile 中获取 git 分支名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42383273/

相关文章:

azure - 找到运行 Jenkins 的操作系统名称?

mercurial - Mercurial:分支与标签冲突

svn - 用于颠覆复制的简洁命令行(分支)

android - 将Android源克隆到本地存储库服务器

git - Phabricator 钩子(Hook)和 Bitbucket

git - Phabricator git 克隆错误 403

git - 我改变了我的分支系统。怎么在github上整理呢?

ios - Xcode 存储库指标含义

java - Jenkins 错误启动静态资源

jenkins - 使用 Active Choice Reactive Reference 参数构建项目