[英]git clone not working in jenkins shell script
我正在设置 jenkins 构建管道,并且在构建步骤之一中,我正在尝试 git clone 一个存储库。
构建步骤(执行shell):
git clone git@github.com:orgname/reponame.git
在这一步失败了
10:14:01 Permission denied (publickey).
10:14:01 fatal: The remote end hung up unexpectedly
10:14:01 Build step 'Execute shell' marked build as failure
10:14:01 Finished: FAILURE
但是,在设置 repo 时,我已将 scm 设置为 git 并将存储库 url 指定为git clone git@github.com:orgname/reponame.git
,这非常有效。
知道我在这里可能会遗漏什么。
Github 使用 ssh 公钥/私钥对进行身份验证。 当你使用github时,你需要提供你的公钥。 按照这些说明,您可能已经这样做过一次。
生成密钥对时,默认行为是只有生成密钥对的用户才能访问它。 这意味着如果您将其生成为upr ,则用户jenkins无法访问连接到 github 所需的密钥对。
要解决此问题,请切换到 jenkins 用户。 如果您使用的是 unix,则可以通过
sudo su - jenkins
然后按照github 提供的密钥生成步骤进行操作。 对于 Jenkins 使用密钥,最简单的方法是创建它,没有密码。
我没有使用过它,但是像这样的Jenkins 插件可能允许您使用受密码保护的密钥对。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.