2014-01-24 64 views
3

是的,我知道有很多像这样的,但没有答案适用于我,我开始变得太紧张。不能让詹金斯触发构建Github变化

我开始与詹金斯进行试验。这似乎是CI在那里的首选。毕竟经过十几次尝试把它与Github集成在一起,我被击败了。无论我选择手动还是自动管理webhook,它都不起作用。我正在使用Jenkins 1.532.1,这是最新的稳定版本。我已经安装了所有必需的插件:Github OAuth,Git Plugin,Github插件等。我已经改变了10s的配置。我已经经历了Jenkins和插件文档(有些文档没有很好记录),甚至更多次。我不知道还有什么要做,只能在这里问一下,看看有人能给我看光。

我可以在Jenkins日志中看到webhook正在工作,它正在从Github接收有效载荷,只是不触发构建。

Received POST for https://github.com/mycompany/my-project 

我需要什么,最后,就是要知道自己需要安装什么插件,具体如何设定Jenkins和插件和其他任何细节,无论多么最小它可以出现。我可以看到,特别是插件的文档缺乏大量的细节。

请不要提及我另一个问题,因为我读了很多次类似的问题,而且我还处于黑暗中。

回答

2

好,挖,挖和更长时间后,我来到了解决方案。虽然不开心。我不得不将密码从我的SSH密钥中取出,并停止为github.com使用别名。问题是,当我正在使用别名,让在有效载荷中的地址GitHub库不匹配与我在我的项目地址。现在我使用普通地址:[email protected]/my-company/my-project.git,它正在工作。我不得不将密码从SSH密钥中删除,以使其可以正常工作,但我并不满意。

+1

为Jenkins生成一个单独的SSH密钥。 –

0

您是否已经完成了本书中的示例:Jenkins: The Definitive Guide它在示例中使用了Git。

+0

我还没有读过这本书。我会,因为我真的需要更深入的了解詹金斯。无论如何,问题是我让詹金斯触发了这个构建。事实证明,我不得不使用形式的git @ github上项目:myCompany的/我-project.git该项目的引用(能够使用我对詹金斯使用生成的SSH密钥对)。这个地址和有效负载地址之间的区别是阻止Jenkins触发这个工作。事情是我不想使用系统SSH密钥对(没有Jenkins使用的密码)。那我该怎么办?有替代品吗? – reydelleon

+0

我偷看了这本书。他们不使用Github插件,而是使用Git(轮询)。这不是我要找的。事实上,这本书很不合时宜,它是从2011年开始的。我希望詹金斯在这3年多的时间里已经发展到足以让这本老书落后了。 – reydelleon

1
  1. 在Jenkins中创建用户。
  2. 在GitHub上,在回购协议的设置,得到了网络挂接,并设置有效载荷URL。 例如:

    http://<jenkins user>:<password>@<jenkins.server.url>:<port>/github-webhook/ 
    
    http://me:[email protected]:81/github-webhook/ 
    
  3. 在詹金斯设置触发时的变化推到github上部署。

  4. 检查您的插件。你至少需要Git插件2.4.0和GitHub插件1.11.1。 (如果一切正常,但更改不会触发它可能是Git插件。在2.4.0中有一个错误修复)