Jenkins Pipeline:我如何获取(而不是拉取)不同的分支?

时间:2017-06-08 10:22:25

标签: git jenkins jenkins-pipeline

我试图使用Jenkins Pipelines,我想将作业的当前分支区分到master。为此,我需要签出master。詹金斯只检查了我建造的分支机构。

我试过了: withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'GITHUB', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) { sh 'git fetch origin master:master' }

但是只将凭证绑定到ENV变量,git不会选择它。

我见过的所有其他方法都使用checkout,但这会改变我当前的分支。我只想获取主人,以便我可以稍后git diff

1 个答案:

答案 0 :(得分:0)

我找到了解决方法:

git branch: 'master', credentialsId: 'GITHUB', url: env.GIT_URL
git branch: env.BRANCH_NAME, credentialsId: 'GITHUB', url: env.GIT_URL

首先,我检查主分支,然后再次检查我的分支。这并不理想,因为它改变了工作树而不是仅仅获取主分支,但它可以工作。