我和Jenkins以及私人Github回购有一个小问题。 要查看私人仓库,通常需要以下两种方法之一:
部署密钥是为这种交互而制定的。问题是部署密钥必须在项目中是唯一的,所以我每次都必须使用不同的密钥。 这意味着我必须为每个额外的回购添加另一个密钥给Jenkins用户的ssh-agent 这也意味着默认情况下,代理会尝试所有可用的密钥,并且在使用错误密钥进行一些错误尝试后可能会丢失连接。
Jenkins git插件似乎不允许将其指向SSH密钥。 Jenkins在结账前不允许任何命令行交互,所以我不能使用任何bash技巧来设置正确的密钥。
到目前为止,唯一的解决方案似乎是:
任何其他建议?
答案 0 :(得分:13)
这不是一个答案,只是在黑暗中回应,让你知道我做了几乎相同的事情。
jenkins
sudo
作为此用户并创建一个公共ssh密钥myorg-machines
jenkins
用户的公共ssh密钥添加到GitHub上的myorg-machines
帐户密钥。我将此密钥命名为jenkins on server.name.com
以保持组织有序。Machines - Pull only
的GitHub小组。将myorg-machines
GitHub用户添加到该团队,并授予该团队访问我相应私人回购的权限。我同意这看起来很笨拙,但现在管理已经很容易了一年左右。