jenkins - 基于git commit触发构建

时间:2016-06-10 18:02:45

标签: git github jenkins

我试图设置jenkins,以便在检测到repo的提交时,jenkins中的构建会自动触发。 我一直在阅读这篇文章:How can I make Jenkins CI with git trigger on pushes to master?

但我不清楚我在哪里创建git hook" post-receive"。 到目前为止,我已经尝试了两个不同的地方:

  • 在jenkins服务器上,在我使用指定的git repo设置这个新项目时为我自动创建的工作区文件夹中。
  • 在我使用的开发人员工作站上为此repo进行编码更改。

两个人都没有工作。 这就是接收后文件的样子:

me@jenkinslab:/var/lib/jenkins/jobs/test git repo/workspace/.git/hooks$ cat post-receive
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
curl http://10.1.1.11:8080/jenkins/git/notifyCommit?url=http://git.someinternaldomain.net/cgit/testing.git[&branches=branch1[,branch2]*][&sha1=<commit ID>]

除了创建这个文件外,在我的jenkins项目中,我还有&#34; Poll SCM&#34;选项在&#34;构建触发器&#34;下检查;部分,但没有任何计划定义。

你能告诉我我失踪的是什么吗?

请和谢谢。

2 个答案:

答案 0 :(得分:1)

它继续在git服务器上运行。如果您正在使用github.com,那么他们会在UI中为您设置所有内容,您只需将URL放在正确的位置:您的仓库,设置,Webhooks和服务。

答案 1 :(得分:0)

这应该从GIT服务器上的post-receive挂钩(而不是更新后)触发。

你使用什么样的git服务器?对于每种服务器(github,BitBucket等),解决方案可能不同。