[英]Multiple jenkins/gerrit projects
我們正在完成我們新的 CI 系統的設置,包括 git,gerrit 和 jenkins 用於自動化測試和代碼審查,我們發現一個奇怪的情況:
我們有三個不同的 gerrit 項目,每個項目都有自己的 Jenkins 工作。 我們使用本指南作為設置參考,一切都已安裝並且運行良好。
我們的第一個項目已設置,並使用示例更改補丁進行了測試。 Jenkins 被正確觸發,通過測試並按預期對構建投票“已驗證”。 到目前為止,一切都很好!
但是:當我們嘗試設置第二個項目時,我們發現其中一個項目中的更改補丁觸發器在每個 jenkins 作業中都發生了變化。 例如:
假設我們有 GerritProjectA 和 GerritProjectB,每個都有一個 JenkinsProjectA 和 JenkinsProjectB。 當向 GerritProjectA 提交更改時,將觸發 JenkinsProjectA 和 JenkinsProjectB。 此外,在構建之后的 gerrit 投票中有些東西混淆了:這是構建之一(JenkinsProjectB 中的一個)之后 sshd_log 中的信息:
gerrit approve 10,3 --message '\''Build Failed
http://jenkins-server:8080/job/projectA/6/ : FAILURE
http://jenkins-server:8080/job/projectB/59/ : Correcto'\!''\'' --
verified -2 --code-review 0' 14ms 6ms 1
如您所見,gerrit approve 命令與兩個不同的 jenkins 作業的信息混合在一起......
任何 jenkins 作業的示例設置:
Repository URL: ssh://jenkins@gerrit-server:29418/projectA.git
Banches to build: $GERRIT_PATCHSET_REVISION
Build triggered by Gerrit event:
Project Type: Plain
Branches: Path **
軟件版本:
Jenkins: 1.458
Gerrit plugin: 2.5.1
Gerrit: 2-3 rc0
有任何想法嗎? 提前致謝!
多明戈
發現問題:
Jenkins 作業之一(我們稱之為 JenkinsJobB),在配置的“Gerrit 觸發器”部分中,模式中沒有 git 存儲庫的名稱。
如果您有多個 jenkins 工作用於 gerrit 項目,則需要像這樣設置 gerrit 觸發器(至少在我的情況下):
Type: Plain
Pattern: (repository name)
Branches
Type: Path
Pattern: ** (or the branch name if you just want to watch one).
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.