2013-02-12 150 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一起工作。