我已经创建了一个 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/