本頁面說明 Secure Source Manager 的分支保護功能,適用於系統管理員。
如要瞭解如何設定分支保護,請按照「設定分支保護」一文的操作說明進行。
分支保護功能可防止使用者意外或惡意將錯誤程式碼推送至重要分支。存放區管理員可以設定分支保護機制,根據下列條件封鎖向特定分支提交的程式碼。
必須先有提取要求才能合併
啟用後,必須建立提取要求,並由可設定數量的審查者和核准者核准,才能合併至受保護的分支。
審查者和核准者是透過 IAM 角色設定。
- Reviewers
- 必須在受保護的存放區中,至少擁有 Secure Source Manager 存放區寫入者角色 (
roles/securesourcemanager.repoWriter)。 - 核准者
- 必須具備受保護存放區的「存放區管理員」角色 (
roles/securesourcemanager.repoAdmin),或同時具備「存放區寫入者」角色 (roles/securesourcemanager.repoWriter) 和「存放區提取要求核准者」角色 (roles/securesourcemanager.repoPullRequestApprover)。
如果使用者具備「存放區管理員」或「存放區撰寫者」角色,同時也具備「存放區提取要求核准者」角色,則在核准提取要求時,會同時計為核准者和審查者。
需要程式碼擁有者審查
您可以根據提取要求中變更的檔案,要求特定使用者核准提取要求。如要啟用這項功能,請在分支保護規則中啟用「Require Code Owner Review on Pull Requests」(要求對提取要求進行程式碼擁有者審查)。您可以在存放區中使用一或多個 CODEOWNERS 檔案,為不同檔案和目錄定義不同擁有者,確保最相關的人員審查程式碼集特定部分的變更。除了其他分支規則設定要求的最低核准者人數外,還須符合這項規定。
詳情請參閱「使用 CODEOWNERS 管理提取要求核准」。
禁止合併過時的評論
啟用後,如果審查或核准程序完成後,提取要求中新增了提交內容,系統就會禁止合併。必須先取得新的審查和核准,提取要求才能合併至受保護的分支。
所有分支保護規則預設都會啟用這項功能。
必須先解決審查意見,才能合併
啟用後,必須先解決所有留言和對提取要求的變更要求,才能將提取要求合併至受保護的分支版本。
需要線性記錄
啟用後,系統會封鎖會引入合併提交的提取要求。
維持線性 Git 記錄有許多好處,包括更容易瞭解每個提交的用途。
需要進行狀態檢查
啟用後,您可以要求觸發條件檔案中定義的觸發條件必須有成功的建構狀態,才能將提取要求合併至受保護的分支版本。