使用GIT_BRANCH进行Jenkinsfile结帐

时间:2018-01-25 16:14:25

标签: linux git jenkins-pipeline

我想用git插件签出一个特定的分支。我无法使环境变量GIT_BRANCH起作用,下面是一个片段;

 stage('Checkout') {
   steps {
    sh 'mkdir authentication'
    dir('authentication') {
     checkout([$class: 'GitSCM',
      branches: [
       [name: 'env.GIT_BRANCH/${branchToBuild}']
      ],

branchToBuild是我的参数变量。我想要做的就是从'使用参数构建'中选择分支。这可能吗?

我已设法做到了;

stage('Checkout') {
   steps {
    sh 'mkdir authentication'
    dir('authentication') {
     checkout([$class: 'GitSCM',
      branches: [
       [name: 'refs/remotes/${branchToBuild}']
      ],

有没有办法没有硬编码refs/remotes

2 个答案:

答案 0 :(得分:1)

确保对要使用与文本混合的变量的字符串使用双引号。还要确保将GIT_BRANCH括在$ {}中,以便将其识别为Groovy表达式。

尝试:

[name: "${env.GIT_BRANCH}/${branchToBuild}"]

为什么需要GIT_BRANCH变量? branchToBuild不会足够吗?

答案 1 :(得分:0)

以下代码可能对您有所帮助

stage('checkout'){
  git branch: '${branchToBuild}', url: 'GITURL'
}