我有一个执行某些GIT动作的小型管道。我正在尝试使用ssh作为通信协议,因此我在JenkinsServer中定义了私钥,并且一切正常。
stage('Some Stage'){
steps{
withCredentials([[$class: 'SSHUserPrivateKeyBinding', credentialsId: "${params.credentialsId}", usernameVariable: 'GIT_USERNAME']]){
script{
// Do some git operations...
}
}
}
如果我从此处删除withCredentials,代码可以正常工作,但是我必须在git push命令中设置硬编码的用户名。我想从凭据中获取用户名。但是我的詹金人总是抛出NPE而没有其他消息。
我对此完全迷失了
答案 0 :(得分:0)
请尝试以下操作,看看是否有帮助。然后,您可以使用GIT_CREDENTIALS_USR
从凭据中引用用户名,并使用GIT_CREDENTIALS_PSW
stage('Some Stage'){
environment {
GIT_CREDENTIALS = credentials('<credentialsID>')
}
steps{
script{
// Do some git operations...
}
}
}