이 페이지에서는 Secure Source Manager 저장소의 브랜치 보호를 구성하는 방법을 설명합니다.
브랜치 보호를 사용하면 저장소 관리자가 브랜치를 변경할 수 있는 사용자, 변경사항을 승인하거나 검토해야 하는 사용자, 승인된 변경사항을 브랜치에 병합하기 전에 충족해야 하는 조건을 제어하는 규칙을 설정할 수 있습니다.
브랜치 보호 규칙에 대한 자세한 내용은 브랜치 보호 개요를 참고하세요.
시작하기 전에
필요한 역할
Secure Source Manager 저장소의 브랜치 보호 규칙을 구성하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Secure Source Manager 인스턴스의 Secure Source Manager 인스턴스 접근자 (
roles/securesourcemanager.instanceAccessor) -
Secure Source Manager 저장소의 Secure Source Manager 저장소 관리자 (
roles/securesourcemanager.repoAdmin) -
Secure Source Manager 인스턴스의 모든 저장소에서 보호된 브랜치의 pull 요청을 승인하려면 다음을 수행합니다.
-
인스턴스의 프로젝트에 대한 Secure Source Manager 저장소 pull 요청 승인 담당자 (
roles/securesourcemanager.repoPullRequestApprover) Google Cloud -
Secure Source Manager 저장소 작성자 (
roles/securesourcemanager.repoWriter) 인스턴스의 Google Cloud 프로젝트에 대한
-
인스턴스의 프로젝트에 대한 Secure Source Manager 저장소 pull 요청 승인 담당자 (
-
단일 저장소에서 보호된 브랜치의 pull 요청을 승인하려면 다음을 수행합니다.
-
Secure Source Manager 저장소 pull 요청 승인 담당자 (
roles/securesourcemanager.repoPullRequestApprover) 저장소의 -
Secure Source Manager 저장소 작성자 (
roles/securesourcemanager.repoWriter) 저장소의
-
Secure Source Manager 저장소 pull 요청 승인 담당자 (
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참고하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어 및 사용자에게 인스턴스 액세스 권한 부여를 참고하세요.
브랜치 보호 규칙 만들기
콘솔
새 브랜치 보호 규칙을 만들려면 다음 안내를 따르세요.
- Secure Source Manager 웹 인터페이스에서 브랜치 보호 규칙으로 보호할 저장소를 선택합니다.
- 저장소 페이지에서 설정 을 클릭합니다.
- 브랜치 규칙 탭을 클릭합니다.
- 브랜치 규칙 추가 를 클릭합니다.
브랜치 규칙 ID 필드에 브랜치 규칙 이름을 입력합니다.
브랜치 규칙 ID는 소문자, 숫자, 하이픈으로만 제한됩니다. 첫 번째 문자는 문자여야 하고 마지막 문자는 문자 또는 숫자여야 합니다. 브랜치 규칙 ID는 최대 63자(영문 기준)입니다.
브랜치 필터 필드에 규칙을 적용할 브랜치 이름을 입력합니다. 규칙을 모든 브랜치에 적용하려면
.*를 입력합니다. 전체 정규 표현식 일치는 지원되지 않습니다.사용 설정된 브랜치 규칙 필터는 저장소마다 고유해야 합니다. 사용자는 사용 중지된 브랜치 규칙 필터를 여러 개 보유할 수 있습니다. 예를 들어 브랜치 필터가
main인 사용 설정된 브랜치 규칙을 단일 저장소에 두 개 보유할 수는 없습니다.브랜치에 여러 규칙이 적용되는 경우 브랜치 필터로 특정 브랜치 이름이 있는 브랜치 규칙이 와일드 카드 규칙을 재정의합니다. 예를 들어 브랜치 필터가
main인 브랜치 규칙은 브랜치 필터가.*인 브랜치 규칙을 재정의합니다. 규칙은 결합되지 않습니다.브랜치 보호 규칙 세부정보 섹션에서 다음 옵션 중에서 브랜치 규칙의 요구사항을 지정합니다.
병합 전에 pull 요청 필요: 사용 설정된 경우 브랜치에 대한 직접 커밋이 차단됩니다. 보호된 브랜치에 병합하기 전에 pull 요청을 열어야 합니다.
필요한 검토자 수: pull 요청을 병합하기 위해 승인하는 데 필요한 검토자 수를 지정합니다.
필요한 승인 담당자 수: pull 요청을 병합하기 위해 승인하는 데 필요한 승인 담당자 수를 지정합니다.
검토자와 승인 담당자는 특정 IAM 역할이 있는 사용자입니다. 검토자와 승인 담당자에게 필요한 역할을 알아보려면 브랜치 보호 개요를 참고하세요.
비활성 검토 및 승인 시 병합 차단: 사용 설정된 경우 검토 또는 승인이 부여된 후 새 커밋이 pull 요청에 푸시되면 검토 또는 승인이 삭제됩니다.
병합 전에 대화 해결 필요: 사용 설정된 경우 병합하기 전에 모든 코드 주석과 요청 변경 검토를 해결해야 합니다.
선형 기록 필요: 사용 설정된 경우 비선형 Git 기록을 만드는 pull 요청은 병합할 수 없습니다.
상태 검사 필요: 사용 설정된 경우 선택한 빌드 상태 검사 는 pull 요청을 병합하기 전에 성공해야 합니다. 브랜치 보호의 상태 검사로 선택하려면 먼저 트리거 파일에서 트리거를 구성해야 합니다.
브랜치 규칙을 저장하려면 제출 을 클릭합니다.
새 브랜치 규칙이 나열된 브랜치 규칙 탭이 표시됩니다.
Terraform
Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참고하세요. 자세한 내용은 Terraform 제공업체 참조 문서를 참고하세요.
Terraform으로 새 브랜치 보호 규칙을 만들려면google_secure_source_manager_branch_rule
리소스를 사용합니다.
다음 구성 예시에서는 main 브랜치의 브랜치 보호 규칙을 만듭니다.
샘플을 사용하기 전에 다음을 바꿉니다.
- BRANCH_RULE_ID: 브랜치 보호 규칙의 ID입니다.
- PROJECT_ID: 프로젝트 ID입니다.
- LOCATION: 저장소의 위치입니다.
- REPOSITORY_ID: 저장소의 ID입니다.
- BRANCH_NAME_PATTERN: 브랜치 이름 또는 정규 표현식 패턴(예:
main)입니다.
resource "google_secure_source_manager_branch_rule" "default" {
branch_rule_id = "BRANCH_RULE_ID"
project = "PROJECT_ID"
location = "LOCATION"
repository_id = "REPOSITORY_ID"
include_pattern = "BRANCH_NAME_PATTERN"
minimum_approvals_count = 2
minimum_reviews_count = 2
require_comments_resolved = true
require_linear_history = true
require_pull_request = true
disabled = false
allow_stale_reviews = false
}
브랜치 보호 규칙 수정
브랜치 보호 규칙을 수정하려면 다음 안내를 따르세요.
- Secure Source Manager 웹 인터페이스에서 수정하려는 브랜치 보호 규칙이 있는 저장소를 선택합니다.
- 저장소 페이지에서 설정 을 클릭합니다.
- 브랜치 규칙 탭을 클릭합니다.
- 수정하려는 브랜치 규칙의 이름을 클릭합니다.
- 브랜치 보호 규칙을 수정합니다.
- 업데이트 를 클릭합니다.
브랜치 보호 규칙이 업데이트됩니다.
브랜치 보호 규칙 삭제
브랜치 보호 규칙을 삭제하려면 다음 안내를 따르세요.
- Secure Source Manager 웹 인터페이스에서 브랜치 규칙을 삭제할 저장소를 선택합니다.
- 저장소 페이지에서 설정 을 클릭합니다.
- 브랜치 규칙 탭을 클릭합니다.
- 삭제하려는 규칙의 행에서 삭제
아이콘을 클릭합니다. - 브랜치 규칙 삭제 확인 화면에서 예 를 클릭합니다.
브랜치 보호 규칙이 삭제됩니다.
다음 단계
- 브랜치 보호 개요를 읽어보세요.
- Cloud Build에 연결의 단계에 따라 빌드를 자동화하는 방법을 알아보세요.
- 자동 빌드의 상태를 확인하는 방법을 알아보세요.