2011-11-07 57 views
9

我正在將持續集成系統從Teamcity遷移到Jenkins。我們必須爲我們所有的項目,這樣一個單一的SVN倉庫:觸發Jenkins作業僅更改爲作業scm文件夾中的特定子文件夾

project/dev_db_build (folder) 
project/module1 (folder) 
project/module2 (folder) 
projets/pom.xml 

因爲我使用的URL項目/ dev_db_build當有變更觸發建立可POL這個網址CI服務器上建立數據庫。

對於構建應用程序,我使用url項目/所以,如果我調查它,並且有變化dev_db_build應用程序構建應忽略並觸發db_build成功後。

在teamcty中,我爲此使用了「觸發模式」。但在詹金斯有這麼多的觸發插件https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Buildtriggers - 我看着其中的一些,並沒有找到合適的。

回答

9

理想情況下,您應該使用@Mike建議的後提交掛鉤,而不是輪詢。否則,在配置Jenkins作業時,在選擇「Subversion」的「源代碼管理」下,會出現一個高級按鈕。單擊此揭示的一些選項,包括「排除區域」

如果設置,詹金斯被設置輪詢的變化,如果構建 確定何時詹金斯將忽略該列表中 任何文件和/或文件夾需要被觸發。每個排除使用正則表達式模式 匹配,並且必須用新行分隔。

/trunk/myapp/src/main/web/.*.html

/trunk/myapp/src/main/web/.*.jpeg

/中繼/ MyApp的/ SRC /主/web/.*.gif

上面的例子說明如果只有html/jpeg/gif文件有 被提交給SCM,則不會發生構建。有關 的更多信息,可以發現here的正則表達式。

在你的情況,你會設置「排除區域」以類似

/project/dev_db_build/.* 
2

你有能力編輯你的Subversion鉤子嗎?與其讓你的Jenkins服務器輪詢SVN,我會建議你通過post-commit掛鉤讓SVN調用Jenkins,以便在開發者提交時自動啓動構建。這樣可以減輕Jenkins和SVN服務器的負載,並且在構建啓動之前無論等待的時間長短都不會太長。

+0

非常感謝。不幸的是,提交後掛鉤現在不是一個選項。 –

相關問題