記錄一次Jekins Gerrit trigger搭建過程。
目的
通過gerrit+jekins構(gòu)建CI環(huán)境熏兄,簡(jiǎn)單點(diǎn)說就是gerrit來code review名扛,同時(shí)代碼提交的時(shí)候觸發(fā)jekins任務(wù)進(jìn)行verify箱沦。
條件準(zhǔn)備
獲取gerrit的權(quán)限
1.在gerrit的前端頁(yè)面上位Jekinsy用戶創(chuàng)建profile谈秫,設(shè)置ssh key
2.Gerrit web interface > Admin > Groups > Non-Interactive Users > Add your jenkins user.
3.Admin > Projects > …? > Access > Edit
Reference: refs/*
Read: ALLOW for Non-Interactive Users
Reference: refs/heads/*
Label Code-Review: -1, +1 for Non-Interactive Users
Label Verified: -1, +1 for Non-Interactive Users
Jekins管理員設(shè)置
通過 "Manage Jenkins > Gerrit Trigger" 設(shè)置gerrit server:
點(diǎn)擊test connetciton測(cè)試連接,之后保存設(shè)置重啟連接
觸發(fā)設(shè)置
在job的配置頁(yè)面的Build Triggers部分或杠,選擇gerrit event:
選擇觸發(fā)事件:
- Draft Published:當(dāng)更改從草稿狀態(tài)變?yōu)樾聽顟B(tài)時(shí)發(fā)送哪怔。(僅在2.5版或更高版本的Gerrit中可用)。
- Patchset Created:當(dāng)新補(bǔ)丁集到達(dá)更改時(shí)發(fā)送向抢。在版本2.6.0之前认境,這是您可以觸發(fā)的唯一事件。
- Change Merged:在Gerrit服務(wù)器上合并更改時(shí)發(fā)送挟鸠。
- Comment Added:在添加評(píng)論到更改時(shí)發(fā)送叉信。可以配置要觸發(fā)的類別和值艘希∨鹕恚可以在插件的服務(wù)器設(shè)置中配置可用類別。
- Ref Updated:當(dāng)Gerrit服務(wù)器上的引用更新時(shí)發(fā)送覆享,即有人推送過去的代碼審閱佳遂。
不選的話默認(rèn)是Patchset Created、d Draft Published
選擇gerrit項(xiàng)目作為觸發(fā)項(xiàng):
至少需要指定一個(gè)項(xiàng)目和分支模式才能觸發(fā)生成撒顿,可以根據(jù)需要指定任意數(shù)量的Gerrit項(xiàng)目來觸發(fā)丑罪。
首先在左側(cè)文本字段中指定Gerrit項(xiàng)目的名稱。
可以通過“類型”(Type)下拉菜單提供的三種不同方式指定名稱模式核蘸。
然后提供要觸發(fā)的分支的名稱罚斗。與上述相同的“樣式類型”可用徙鱼。
因此,例如要觸發(fā)項(xiàng)目中的所有分支,可以指定:
類型:路徑
模式:**
可以通過單擊“添加分支”來添加更多分支模式袱吆,并通過單擊“添加項(xiàng)目”來添加更多項(xiàng)目厌衙。
相同的語(yǔ)法可用于指定要在哪個(gè)文件上觸發(fā)(僅在Gerrit 2.3或更高版本中可用)。
動(dòng)態(tài)觸發(fā)
從插件的2.6.0版本開始绞绒,提供了一種新的方式來配置要觸發(fā)的項(xiàng)目婶希,分支和文件。
在設(shè)定的時(shí)間間隔內(nèi),插件會(huì)獲取并解析此文件狰晚。文件內(nèi)容應(yīng)遵循以下語(yǔ)法:
p=some/project
b^**/master/*
f~.*\.txt
p=some/other/project
b^**
說明:
p用于項(xiàng)目
b用于分支
f用于文件
=用于普通語(yǔ)法
^用于ANT樣式語(yǔ)法
?用于regexp語(yǔ)法
假定分支和文件行是最接近的前一個(gè)項(xiàng)目行的一部分筒饰。
動(dòng)態(tài)觸發(fā)可以與上述常規(guī)配置結(jié)合使用。Gerrit觸發(fā)器將觸發(fā)動(dòng)態(tài)和非動(dòng)態(tài)配置壁晒。
Jenkins提取文件的時(shí)間間隔可以在Gerrit觸發(fā)器的管理頁(yè)面中配置“”