如何使用Jenkins查看几个私有Github存储库

时间:2012-01-11 18:35:53

标签: github jenkins

我和Jenkins以及私人Github回购有一个小问题。 要查看私人仓库,通常需要以下两种方法之一:

  • 该repo上用户的私有SSH密钥
  • 该repo的已注册“部署密钥”的私有SSH密钥

部署密钥是为这种交互而制定的。问题是部署密钥必须在项目中是唯一的,所以我每次都必须使用不同的密钥。 这意味着我必须为每个额外的回购添加另一个密钥给Jenkins用户的ssh-agent 这也意味着默认情况下,代理会尝试所有可用的密钥,并且在使用错误密钥进行一些错误尝试后可能会丢失连接。

Jenkins git插件似乎不允许将其指向SSH密钥。 Jenkins在结账前不允许任何命令行交互,所以我不能使用任何bash技巧来设置正确的密钥。

到目前为止,唯一的解决方案似乎是:

  1. 在github中创建“my_jenkins_account”用户
  2. 向用户添加公钥
  3. 将帐户添加到我想要使用Jenkins签出的repos
  4. 将用户的私钥添加到jenkins用户
  5. 任何其他建议?

1 个答案:

答案 0 :(得分:13)

这不是一个答案,只是在黑暗中回应,让你知道我做了几乎相同的事情。

  1. 以名为jenkins
  2. 的用户身份运行Jenkins
  3. sudo作为此用户并创建一个公共ssh密钥
  4. 创建一个名为myorg-machines
  5. 的免费GitHub帐户
  6. 将此jenkins用户的公共ssh密钥添加到GitHub上的myorg-machines帐户密钥。我将此密钥命名为jenkins on server.name.com以保持组织有序。
  7. 创建名为Machines - Pull only的GitHub小组。将myorg-machines GitHub用户添加到该团队,并授予该团队访问我相应私人回购的权限。
  8. 我同意这看起来很笨拙,但现在管理已经很容易了一年左右。

相关问题