身為 Code Stream 管理員或開發人員,您可以使用 Gerrit 觸發器將 Code Stream 與 Gerrit 代碼檢閱生命週期整合。當您在 Gerrit 專案上建立修補程式集、發佈草稿、合併程式碼變更或直接在 Git 分支上推送變更時,事件會觸發管線執行。
在此範例中,您先設定 Gerrit 接聽程式,然後在三個不同管線上有兩個事件的 Gerrit 觸發器中使用該接聽程式。
必要條件
- 確認您是 Code Stream 中的專案的成員。如果您不是管理員,請要求 Code Stream 管理員將您新增為專案成員。請參閱如何在 Code Stream 中新增專案。
- 確認您已在 Code Stream 中設定 Gerrit 端點。請參閱如何整合 Code Stream 與 Gerrit。
- 確認您知道 Gerrit 發行版本。
- 對於要觸發的管線,請確認已將管線的輸入內容設定為 Gerrit,這將允許管線在管線執行時將 Gerrit 參數作為輸入接收。
如需輸入參數的相關資訊,請參閱手動新增工作前在 Code Stream 中規劃 CICD 原生建置。
程序
結果
下一步
認可 Gerrit 專案中的代碼變更之後,在 Code Stream 的活動索引標籤中觀察 Gerrit 事件。請確認活動清單是否包含與觸發器組態中的每個管線執行對應的項目。
發生事件時,僅 Gerrit 觸發器中與特定事件類型相關的管線可以執行。在此範例中,如果已建立修補程式集,僅會執行 Gerrit-Trigger-Pipeline 和 Gerrit-Demo-Pipeline。
活動索引標籤上的資料行中的資訊說明了每個 Gerrit 觸發器事件。可以按一下資料表下方顯示的資料行圖示來選取顯示的資料行。
- 如果觸發器是直接 Git 推送,則變更主題和執行資料行為空白。
- 適用於 Gerrit 的觸發器資料行顯示已建立事件的觸發器。
- 接聽程式資料行預設為關閉狀態。選取該資料行時,資料行將顯示接收事件的 Gerrit 接聽程式。單一接聽程式可能會顯示為與多個觸發器相關聯。
- 觸發器類型資料行預設為關閉狀態。選取該資料行時,資料行將觸發器類型顯示為 [自動] 或 [手動]。
- 其他資料行包括認可時間、變更編號、狀態、訊息、已採取動作、使用者、Gerrit 專案、分支和事件。
若要控制完成或失敗的管線執行的活動,請按一下 [活動] 畫面上任何項目左側的三個點。
- 如果此管線因管線模型錯誤或其他問題而無法執行,請更正錯誤,然後選取重新執行以再次執行管線。
- 如果此管線因網路連線問題或其他問題而無法執行,請選取繼續以重新啟動相同的管線執行並節省執行時間。
- 使用檢視執行以開啟管線執行視圖。請參閱如何執行管線和查看結果。
- 使用刪除從 [活動] 畫面中刪除項目。
如果 Gerrit 事件無法觸發管線,可以按一下
手動觸發,然後選取適用於 Gerrit 的觸發器,輸入 Change-Id,並按一下
執行。
備註:
手動觸發僅適用於有效的 Gerrit 事件,如
修補程式集已建立、
變更已合併和
草稿已發佈。