簡體   English   中英

GIT提交后觸發Jenkins構建

[英]Triggering Jenkins Builds after GIT commit

我有兩個建築工作。 其中之一就是我所說的模板作業,它可以構建代碼並將其推送到Nexus。 此內部版本已參數化,並接受工件等參數。此內部版本從GIT中提取代碼,並定義了GIT存儲庫。

另一個構建作業使用Parameterized Trigger插件來調用模板作業。 它向模板作業提供諸如工件名稱等參數,該模板作業隨后執行構建。

我已經閱讀了有關可以創建的Web掛鈎的信息,這些掛鈎將通知Jenkins CI在對存儲庫進行提交后觸發構建。 但是,通讀GIT插件文檔時,它說GIT插件只會為那些勾選了“ poll scm”的構建作業以及在作業配置中定義了GIT存儲庫的那些構建作業觸發構建。

這有點兩難,因為我們的模板作業已參數化,並且調用作業中未定義GIT。 以這種方式配置作業的想法是,最大程度地減少定義重復性作業所引起的維護麻煩,如果作業結構發生某些變化,請重新進行處理。

請讓我知道是否有可用的插件能夠觸發特定的作業,或者可能不是通過參數化/模板化的作業結構。 我願意接受所有建議。

使用Webhooks與Jenkins集成要比“輪詢SCM”方法更為有效,后者給Jenkins和您的git repo添加了不必要的負載。 這種不必要的負載可能導致大型開發組織中的性能問題。 但是,如果您所在的組織較小,則性能可能不會成為問題,並且轉換為Webhook模型的投資回報可能不存在。

除了避免輪詢SCM之外,還有其他使用Webhook的原因。 一些插件具有可以提供其他好處的功能。 一個示例是GitHub拉取請求生成器(如果您將回購托管在GitHub上):

https://wiki.jenkins.io/display/JENKINS/GitHub+pull+request+builder+plugin

當然,還需要將GitHub配置為發送webhooks:

https://help.github.com/enterprise/2.10/admin/guides/developer-workflow/continuous-integration-using-jenkins/

提供參數化作業並不能阻止此類設置,並且可以使用參數化觸發器作業將作業以管道或類似配置鏈接在一起。 IIRC,如果走那條路線,您應該能夠從GitHub webhooks集成中獲取git構建信息,否則,您需要在作業之前使用其他方法(例如存儲在Jenkins作業配置中)檢索git信息。參數化觸發器調用。

總之,與Webhook安裝程序一起使用的決定最終應歸結為安裝程序的成本是否值得您獲得的功能。 如果您已經在使用GitHub並希望構建請求請求,那么設置Jenkins插件和配置GitHub Webhooks的成本並不高,您將獲得一些非常有用的功能。 另一方面,如果您將git repos托管在某個專有堆棧上,而您的唯一目標是避免在20人的開發環境中使用Poll SCM,則成本會高得多,而且價值回報值得懷疑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM