繁体   English   中英

git clone 在 jenkins shell 脚本中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM