我想在jenkins中执行以下操作:
我正在使用管道。
所以我用以下方式结账:
git branch: 'branch1', credentialsId: 'XXX', url: 'XXX'
现在,我想再加上'branch2',我试过了:
sh 'git fetch origin branch2:branch2'
但由于缺少证书而失败。
那怎么办呢?
答案 0 :(得分:1)
您可以使用git凭证帮助程序以及凭证插件。 Git凭证doco:https://git-scm.com/docs/gitcredentials 凭据插件:https://jenkins.io/doc/pipeline/steps/credentials-binding/
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'git', usernameVariable: 'GIT_USERNAME', passwordVariable: 'GIT_PASSWORD']]) {
try {
sh("git config credential.username ${env.GIT_USERNAME}")
sh("git config credential.helper '!f() { echo password=\$GIT_PASSWORD; }; f'")
sh("GIT_ASKPASS=true git fetch origin branch2:branch2")
} catch (err) {
println err
error "ERROR: Failed to fetch changes"
} finally {
sh("git config --unset credential.username")
sh("git config --unset credential.helper")
}
}