簡體   English   中英

如何使用Gerrit Trigger僅針對項目的特定部分進行構建

[英]How to Gerrit Trigger builds only for a certain part of the project

我正在使用集成了git和gerrit觸發器的Jenkins。

我管理着一個巨大的回購,導致大量的提交。 因此,我對每次推送都不會運行整個項目的完整版本不感興趣。 這里的想法只是在代碼更改的地方構建especific項目.pom文件。

例如:

    -"common" is a subdir with its own .pom 

    -"persistence" is a subdir with its own .pom. "persistence" depends on common dir.

因此,如果對持久性目錄進行了更改,則我僅需構建persistence .pom文件,因為它將作為依賴項而構建。 另一方面,如果有人更改通用代碼,那么詹金家族就沒有必要建立持久性。 這樣可以節省我的時間和資源。

所以這里的問題是我該怎么做? Gerrit觸發器對此是否有任何支持?

更新:在選擇更改的文件時,文件RegEx選項是否指向文件路徑或文件名?

而且,是否有一種方法可以使用文件RegEx字段來表達類似build的內容:“如果有共同的變化而不是持久性的變化”?

您是否嘗試過使用動態觸發器配置 您定義了一個過濾器-應該在該過濾器上開始工作。 因此,您可以為每個構建創建作業,然后使用過濾器定義適當的Gerrit觸發器。 或者,如果您希望每個構建只使用一項工作,則編寫一個腳本,在其中可以使用git 確定更改了哪個文件,然后為其選擇正確的項目文件。

更新:嘗試使用新的構建參數: GERRIT_TOPIC
因此,請使用適當的主題名稱(例如)推送更改

git push origin HEAD:refs/for/master/topic_name 

如果topic_name可以是通用的,則持久性可以使用git中的預推鈎子自動填充主題名稱。

暫無
暫無

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

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