我有一个执行一些GIT操作的小管道。我尝试使用ssh作为通信协议,因此我在JenkinsServer中定义了私钥,并且一切正常。
stage('Some Stage'){
steps{
withCredentials([[$class: 'SSHUserPrivateKeyBinding', credentialsId: "${params.credentialsId}", usernameVariable: 'GIT_USERNAME']]){
script{
// Do some git operations...
}
}
}
字符串
如果我从这里删除withCredentials,代码可以正常工作,但我必须在git push命令中设置硬编码的用户名。我想从凭证中获取用户名。但我的Jenkins总是抛出一个没有任何其他信息的NPE。
我完全迷失了
2条答案
按热度按时间nc1teljy1#
试试下面的方法,看看是否有帮助。然后,您可以使用
GIT_CREDENTIALS_USR
引用凭据中的用户名,使用GIT_CREDENTIALS_PSW
引用密码字符串
jhdbpxl92#
我也遇到了这个问题,最终意识到,为了避免NPE,即使不使用,也必须包含keyFileVariable。这是必需的,因为用户名和密码是可选的。这会有用的
字符串