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

Mar*_*ger 5 github jenkins

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

  • 该repo上用户的私有SSH密钥
  • 该回购的已注册"部署密钥"的私有SSH密钥

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

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

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

  1. 在github中创建一个"my_jenkins_account"用户
  2. 向用户添加公钥
  3. 将帐户添加到我想要使用Jenkins签出的repos
  4. 将用户的私钥添加到jenkins用户

还有其他建议吗?

bry*_*edy 13

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

  1. 以调用的用户身份运行Jenkins jenkins
  2. sudo 作为此用户并创建一个公共ssh密钥
  3. 创建一个名为的免费GitHub帐户 myorg-machines
  4. 将此jenkins用户的公共ssh密钥添加到myorg-machinesGitHub上的帐户密钥.我命名这把钥匙jenkins on server.name.com以保持井井有条.
  5. 创建一个名为GitHub的团队Machines - Pull only.将myorg-machinesGitHub用户添加到该团队,并让该团队获取对我的相应私人存储库的访问权限.

我同意这看起来很笨拙,但实际上现在很容易管理一年左右.