2012-04-04 62 views
5

我使用jenkins,我希望我的测试在每次提交后自动运行。在每次提交后自动运行Jenkins测试(更改)

我也跟着在下面的链接中的说明:

http://blog.cloudbees.com/2012/01/better-integration-between-jenkins-and.html

我点击了全球configuearion/Githup网络挂接让詹金斯自动管理挂钩的URL和我说我的用户名和密码githup但还是之后变化和推动回购,我的测试不运行!

Github Hook Log:Polling尚未运行。

有什么我忘了?

P.S.我可以手动运行我的测试(现在单击Build),当我构建测试时,我可以看到我的提交(更改)。

回答

2

我会首先检查post-receive URL是否真的由Jenkins设置。转到github.com/YOURNAME/REPO/admin/hooks并打开接收后邮件地址

如果没有任何东西,您可以按照上面关于如何自己安装挂钩的说明进行操作。

如果钩子在github.com中,请尝试单击测试钩按钮。它是否触发构建?

如果构建仍不起作用,请检查github和您的Jenkins之间是否存在可能阻止github.com连接到您的jenkins的防火墙。调试github上的钩子

更多信息在http://help.github.com/post-receive-hooks/

+0

我有http:// localhost:8080/github-webhook /在Post-Receive URL中,但是当我单击Test Hook时,它不会构建我的测试!我应该运行“gem install hook”吗? – Shahrzad 2012-04-04 21:54:10

+0

我认为你提到的问题应该是关于防火墙!当我点击Github Web Hook/Override Hook URL时,它说:“如果你的Jenkins在防火墙内部运行,并且不能从互联网直接访问,请设置反向代理,端口隧道等,以便GitHub可以将POST请求传递给你的Jenkins在http:// localhost:8080/github-webhook /中,然后指定GitHub应该发布到这里的URL。“那么解决方案是什么? – Shahrzad 2012-04-04 22:11:10

+5

您配置到Post-Receive URL中的地址不能有主机名** localhost **。如果你告诉Github通知**本地主机**,它会尝试通知自己。你的詹金斯可能在你的电脑上运行,而不是Github的。你需要让你的Jenkins可以从Github访问。您需要为您的计算机提供外部可访问的DNS名称或IP地址。您需要询问您的ISP或网络管理员。 – sti 2012-04-05 20:08:03

1

我有同样的问题来解决,我添加一个投票SCM构建触发器,并安排它每2分钟H/2 * * * *

相关问题