致命:无法读取用户名,没有此类设备

时间:2017-03-03 10:48:15

标签: git jenkins

在我的Jenkins工作中,我正在以下列方式配置git:

sh("git config user.email my.email@google.com")
sh("git config user.name my-user-name")
sh("git tag ${BUILD_NUMBER}")
sh("git push origin --tags")

但是,在最后一行,当我尝试推送到我的存储库时,我收到有关存储库的以下错误:

fatal: could not read Username for 'http://my-git-repo.com:8000': No such device or address

出了什么问题,如何将其推送到存储库?

1 个答案:

答案 0 :(得分:2)

您正在寻找credential.username。我不知道密码,但如果您不喜欢http://username:password@my-git-repo.com:8000,请将凭据放在Jenkinsfile中,如下所示:

  

第二种最常见的凭证类型是"用户名和密码"   它仍然可以在environment指令中使用,但会导致   设置了稍微不同的变量。

environment {
   SAUCE_ACCESS = credentials('sauce-lab-dev')
}
     

这实际上会设置3个环境变量:

SAUCE_ACCESS containing <username>:<password>
SAUCE_ACCESS_USR containing the username
SAUCE_ACCESS_PSW containing the password
     

credentials仅适用于Declarative Pipeline。对于那些   使用Scripted Pipeline,请参阅文档   withCredentials步骤。