簡體   English   中英

多個 jenkins/gerrit 項目

[英]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.

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