1. 程式人生 > >jenkins使用Gerrit,錯誤checkout分支版本的解決方法

jenkins使用Gerrit,錯誤checkout分支版本的解決方法

背景

我們採用jenkins2(2.32.3)應用pipeline流水線,會出現CI任務執行的分支版本錯誤的問題,gerrit觸發的評審程式碼和CI實際跑的是兩碼事。

問題原因

在pipeline流水線中,你可以檢視Parameters是對的(Gerrit事件傳遞過來的引數),但是,Git Build Data卻拉錯分支!
這個問題的原因是,Gerrit的HEAD存在多個,CI任務裡的GIT選擇HEAD時,具有隨機行為,導致GIT checkout出來的,並不是gerrit觸發的程式碼。

解決方法

如下圖右下角的進行配置:
Additional Behaviors -> Strategy for Choosing What to build -> Gerrit Trigger

這裡寫圖片描述

最後的疑問

這個問題應該是很普遍的問題,為什麼感覺大家的配置裡,都沒有提到這個呢?

附錄