詹金斯⇔Github上,网络挂接设置了多个存储库

问题描述:

为了詹金斯能够在同一台服务器*问多个存储库,我设置了.ssh/config如下:詹金斯⇔Github上,网络挂接设置了多个存储库

Host a.github.com 
    HostName github.com 
    User git 
    IdentityFile ~/.ssh/project-a-id_rsa 

# same for other repos 

,并设置詹金斯的工作源代码管理(SCM),至git[email protected]:user/repo_a.git。它工作正常。

问题
我想上推的事件触发的那些工作,所以我在github上设置一个网络挂接服务,.i.e,詹金斯(GitHub的插件)。从webhook收到的请求是“POST for https://github.com/user/repo_a”,它与SCM中设置的主机不同,即.i.e,a.github.com
因为它们不同,所以作业不会自动生成。

丑陋的解决方案
我由单片机设置为github.com和覆盖项目的混帐配置的一次与a.github.com克隆远程URL得到的东西运行。所以SCM将匹配webhook,并且在运行时jenkins git push将使用.ssh/config信息。

问题
我还能做什么?是否有更好的,轻松自动的方式来实现这一目标?

+0

我有同样的问题。我得到了github webhooks页面上的超时错误,我认为这是因为我使用私有回购(所以ssh密钥) – bny

我停止使用deploy key并在jenkins上添加了我自己的帐户凭据,以便能够处理所有存储库,而无需使用.ssh/config更改主机。