2013-02-12 149 views
16

我现在的公司正在使用Subversion,我们让Jenkins拉动SCM进行更改,如果有任何更改,它将执行Maven构建。詹金斯和Git?

我们正在转向Git,但我没有看到任何方式来拉动Git存储库进行更改...我错过了什么吗?

+0

我不知道詹金斯的细节。但当然这是可能的,通常CI系统使用Git钩子来触发一个动作,也许这可以帮助你完成关键字的研究。 – 2013-02-12 20:35:36

+0

我还是看不到 – techsjs2013 2013-02-12 20:52:22

+0

可能重复[如何使詹金斯CI与git触发器推到主?](http://stackoverflow.com/questions/5784329/how-can-i-make-jenkins-ci- with-git-trigger-on-push-to-master) – CharlesB 2013-02-12 21:26:33

回答

23

您可以配置Jenkins Git插件来轮询您的回购以了解更改,但推荐的方法是在您的回购中添加post-receive(aka post-commit)挂钩。这样Jenkins就会在每次提交时立即得到通知。

你可以在这里阅读更多:https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

1

詹金斯有Git Plugin,其中包含了很多你可能以后有用的信息。 Here是一个可以帮助你的帖子。

7

首先,你需要配置詹金斯Git的插件,它包括Git的客户端,Git的挂钩,等等。然后去GitHub的帐户,然后导航到

设置→服务→钩子网址网络挂接。

您需要提供Jenkins与Jenkins端口号一起运行的计算机主机名。

网络挂接网址是一样的东西 - HTTP://主机:8080/github上 - 网络挂接/(其中8080​​是默认的端口詹金斯)

GitHub上会打击这些网络挂接网址与POST请求时您将更改推送到GitHub,传递有关推送的信息。

有一些积累触发詹金斯提供的选项,而这些都是如下 -

  1. 时所建的改变推到GitHub上。
  2. 投票SCM
  3. 建设有一定的时间间隔
  4. 等...

选择最适合您的要求。

10

你可能没有安装Git插件,这就是为什么你看不到选项。默认情况下,你永远不需要为颠覆作为该船的插件。您可以使用Jenkins中提供的自动安装程序来安装插件,也可以手动执行(如果您位于公司防火墙后面,则可以使用)。

一些有用的链接: Git的插件:https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin

GitHub的插件:https://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin

到位桶插件:https://wiki.jenkins-ci.org/display/JENKINS/Bitbucket+OAuth+Plugin

谷歌代码插件:https://wiki.jenkins-ci.org/display/JENKINS/Repo+Plugin

Git的参数插件:https://wiki.jenkins-ci.org/display/JENKINS/Git+Parameter+Plugin

的GitLab钩插件:https://wiki.jenkins-ci.org/display/JENKINS/Gitlab+Hook+Plugin

所有插件的大名单:https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Sourcecodemanagement

CloudBees提供詹金斯持续集成和Git托管作为一种服务 - 这也可能有助于您http://www.cloudbees.com/#slide-2

祝您的移民顺利。在执行类似的迁移时,我们在Maven发行版插件中发现了一些小问题 - 如果必须再次执行,我会事先做一些专业版。

1

为了在詹金斯使用GIT中,下面的两个插件需要安装:

1. Git-Client-plugin 
2. Git-plugin 

第一插件(GIT-客户端插件)是一个低级别的API以执行git的操作(GIT中添加,git commit,git push,git clone,..等)。

第二个插件(Git-plugin)将Git添加为Jenkins作业的SCM选项。

第二个插件依赖于第一个插件的功能,所以两者都必须存在才能让Git与Jenkins一起工作。