路徑 07課程 5 / 8

選擇 Taiga 在哪裡等待決定

區分計畫核准、建置執行、合併權限與部署。依組織必須保留的決策設定自主性。

實務11 分鐘已審查

發布者 我們如何撰寫

檢查理解程度組織允許自主合併,但某工廠停用此功能。該工廠下的產品可以啟用嗎?進行練習
組織允許自主合併,但某工廠停用此功能。該工廠下的產品可以啟用嗎?

學習目標

  • 區分自動建置與自主合併。
  • 解釋合併上限、產品預設值與 initiative 個別設定。
  • 啟用自動化前,檢查分支規則與部署後果。

區分四項決定

虛構設備服務有四項不同決定:接受計畫、執行建置、合併變更,以及部署。不要把一個開關當成四項操作的全部授權。

改變自主性前,檢查儲存庫管線在合併後會做什麼。如果合併到工作分支會觸發部署,自動合併也可能觸發該既有流程。

決定計畫是否等待

產品設定 Build on its own by default 控制完成的計畫直接進入建置,還是等待核准。計畫需要先由人員決定時,就關閉它。

Initiative 的 Build on its own 設定,可以為該項工作改變此行為。排入工作前,同時檢查預設值和個別選擇。

Approve 以核准者身分開始建置,並受其目前權限限制。計畫失敗不會啟動建置。自動建置本身,不授權合併產生的 PR。

了解合併層級

自主合併獨立控制,啟用前預設關閉。文件載明的整合支援 GitHub,包括 GitHub Enterprise。

層級意義
組織是否允許自主合併的上限
工廠該工廠所有下層項目的上限
產品沒有個別選擇之 initiatives 的預設值
Initiative在上限內設定自己的 Merge on its own 選擇

組織或工廠上限若停用,下層無法覆寫。產品預設關閉則不同:只要上限允許,initiative 可以啟用自己的合併設定。

對設備服務,明確保留初始範圍。在允許邊界內,後果較小的 initiative,可以採用與員工存取控制變更不同的選擇。

讓必要審查能強制落實

Taiga 會詢問原始碼管理提供者,該 PR 是否可以合併。分支保護決定必要檢查、審查和其他條件。自主合併不會略過這些規則。

如果自動審查必須阻擋合併,就透過儲存庫支援的設定,將結果設為必要狀態檢查。建議性結果,不會因為你期待它必須通過,就自動變成強制要求。

也檢查必要人工核准。政策要求的核准,不能用綠色檢查取代。確認實際目標分支上的規則。

理解停止合併的原因

閱讀 initiative 上的原因。檢查等待中、缺少核准、衝突和計畫未完成,需要不同處理。修正若改變了讓失敗檢查轉為通過的判定條件,Taiga 也會停止自主合併。直接審查該變更。

不要只因必要檢查阻擋進度,就移除它。檢查若一直沒有回報,修正設定,或使用已授權的政策流程。每次修正後,檢查目前 commit。

將部署授權分開

Taiga GitHub App 執行自主合併,並被記錄為合併者。儲存庫管線保留既有部署行為。

在本情境中,合併會部署到預備環境。正式環境仍需要組織的正式環境決定與證據。確認管線會落實這項區分。繼續閱讀交付審查。

進行練習

虛構設備服務需要人工審查計畫與 PR。其 main 分支會部署到預備環境。寫出所需建置設定、分支規則、合併設定,以及獨立的正式環境核准。

下載工作表(Markdown)
檢查理解程度 ↑

繼續學習

來源與延伸閱讀

Taiga 相關延伸閱讀

上一課: 將預期結果轉成 initiative