Jenkins⇔Github-Webhook设置多个存储库

时间:2016-01-13 01:59:49

标签: github jenkins jenkins-plugins github-enterprise

为了让Jenkins能够访问同一台服务器上的多个存储库,我将.ssh/config设置如下:

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

# same for other repos

并将Jenkins作业的源代码管理(SCM)设置为gitgit@a.github.com:user/repo_a.git。它工作正常。

问题
我希望在推送事件中触发这些作业,因此我在github,.i.e, Jenkins(GitHub插件)中设置webhook服务。从webhook收到的请求是“POST https://github.com/user/repo_a”,这是与SCM中设置的主机不同的主机,.i.e,a.github.com
因为它们不同,所以作业不会自动构建。

丑陋的解决方案
通过将SCM设置为github.com并使用a.github.com克隆项目的git配置的远程URL,我得到了一些运行。所以SCM会匹配webhook,而jenkins在运行git push时会使用.ssh/config信息。

问题
我还可以做些什么 ?是否有更好,更容易实现的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

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