이 페이지에서는 Secure Source Manager 트리거 파일의 스키마를 설명합니다. 트리거 파일 만들기에 대한 자세한 내용은 트리거 파일 만들기를 참고하세요.
트리거 파일에는 Secure Source Manager의 푸시 또는 풀 요청 이벤트를 기반으로 Cloud Build 구성 파일에 정의된 단계를 트리거하도록 Secure Source Manager에 지시하는 내용이 포함되어 있습니다.
특정 트리거에서 상태 확인이 성공하도록 브랜치 보호 규칙을 구성할 수 있습니다. 브랜치 보호에 대해 자세히 알아보려면 브랜치 보호 개요를 참고하세요.
트리거 파일의 구조
트리거 구성 파일은 저장소의 기본 브랜치에 만들어야 합니다. YAML 구문을 사용하여 트리거 파일을 작성할 수 있습니다.
트리거 파일의 구조는 다음과 같습니다.
triggers:
- name: string
project: string
configFilePath: string
eventType: string
includedGitRefs: string
ignoredGitRefs: string
includedFiles: string
ignoredFiles: string
serviceAccount: string
disabled: bool
substitutions: map[string]string
- name: string
...
트리거 파일의 이름이 지정된 각 섹션은 Secure Source Manager에서 지정된 이벤트 유형에 사용할 Cloud Build 구성을 정의합니다.
트리거
트리거는 특정 Cloud Build 구성 파일의 단계 완료를 트리거하는 데 사용할 보안 소스 관리자 이벤트 유형을 지정합니다. 지정된 이벤트를 모니터링할 브랜치를 지정할 수도 있습니다.
트리거 파일의 name
필드를 사용하여 트리거를 식별합니다. 다음은 트리거 파일에 설정할 수 있는 구성의 예입니다.
triggers:
- name: presubmit-test
project: my-project
configFilePath: test.yaml
eventType: pull_request
includedGitRefs: ^main$
ignoredGitRefs: .*log
serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com
includedFiles: .*
ignoredFiles: my-file.txt
disabled: false
- name: postsubmit-run
project: my-project
configFilePath: run.yaml
eventType: push
includedGitRefs: ^main$
ignoredGitRefs: dev-branch
serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com
disabled: false
substitutions:
_NODE_VERSION_1: v6.9.1
REPO_NAME: dev
name
필수 입력란입니다. 트리거의 name
필드를 사용하여 트리거를 식별합니다. 트리거 이름에는 영숫자 문자와 대시만 포함할 수 있으며 대시로 시작하거나 끝날 수 없습니다. 트리거 이름은 64자(영문 기준) 미만이어야 합니다.
project
선택사항입니다. project
필드를 사용하여 Cloud Build를 사용 설정한 Google Cloud 프로젝트를 식별합니다.
기본값은 Secure Source Manager 프로젝트입니다.
configFilePath
선택사항입니다. Cloud Build 구성 파일의 경로입니다.
기본값은 .cloudbuild/cloudbuild.yaml
입니다.
eventType
선택사항입니다. 트리거할 이벤트 유형입니다. 옵션은 선택한 브랜치로 푸시하는 경우 push
이고 선택한 브랜치로 풀 요청하는 경우 pull_request
입니다.
기본값은 push
입니다.
includedGitRefs
선택사항입니다. 빌드를 트리거하는 Git 참조와 일치하는 RE2 형식 정규 표현식
기본값은 비어 있습니다. includedGitRefs
필터 필드가 비어 있으면 제한이 없음을 나타냅니다.
Git 참조가 ignoredGitRefs
필터 필드에 포함되지 않은 경우 Secure Source Manager는 includedGitRefs
필터 필드를 확인합니다. Git 참조가 includedGitRefs
필드에 있으면 빌드가 트리거됩니다. includedGitRefs
필터 필드가 비어 있지 않고 Git 참조가 includedGitRefs
필터 필드에 포함되어 있지 않으면 빌드가 트리거되지 않습니다.
ignoredGitRefs
선택사항입니다. 빌드를 트리거해서는 안 되는 Git 참조와 일치하는 RE2 형식 정규 표현식입니다.
기본값은 비어 있습니다. ignoredGitRefs
필터 필드가 비어 있으면 제한이 없음을 나타냅니다.
Secure Source Manager는 먼저 ignoredGitRefs
필터 필드를 확인합니다. 비어 있지 않고 Git 참조가 ignoredGitRefs
필터 필드와 일치하면 빌드가 트리거되지 않습니다.
serviceAccount
필수 입력란입니다. 빌드에 사용할 Cloud Build 서비스 계정입니다.
형식: projects/PROJECT_ID/serviceAccounts/ACCOUNT
다음을 바꿉니다.
PROJECT_ID
를 서비스 계정을 만든 Google Cloud 프로젝트 ID로 바꿉니다.ACCOUNT
: 서비스 계정의 이메일 주소 또는 고유 ID로 바꿉니다.
includedFiles
선택사항입니다. 변경 시 빌드를 트리거해야 하는 파일과 일치하는 RE2 형식 정규 표현식입니다.
변경된 파일이 ignoredFiles
필터 필드에 없고 변경된 파일이 includedFiles
필터 필드와 일치하면 빌드가 트리거됩니다.
기본값은 비어 있습니다. 빈 필터 필드는 제한이 없음을 나타냅니다.
ignoredFiles
선택사항입니다. 변경 시 빌드를 트리거하지 않아야 하는 파일과 일치하는 RE2 형식 정규 표현식입니다.
ignoredFiles
필터 필드가 비어 있지 않으면 ignoredFiles
필터 필드와 일치하는 파일만 포함하는 커밋은 빌드를 트리거하지 않습니다. 기본값은 비어 있습니다. 빈 필터는 제한이 없음을 나타냅니다.
disabled
선택사항입니다. 트리거가 사용 중지되었는지 여부를 설정하는 불리언입니다. 값은 true
또는 false
입니다.
기본값은 false
입니다.
substitutions
트리거 파일에서 대체 기능을 사용하여 Cloud Build 구성 파일의 빌드 시 특정 변수를 대체합니다.
대체는 밑줄로 시작해야 하며 대문자, 밑줄, 숫자만 포함하거나 Secure Source Manager 대체 변수 중 하나여야 합니다.
Secure Source Manager는 다음과 같은 기본 대체 변수를 제공합니다.
TRIGGER_NAME
: 트리거와 연결된 이름입니다.COMMIT_SHA
: 트리거와 연결된 커밋 ID입니다.REVISION_ID
: 트리거와 연결된 커밋 ID입니다.SHORT_SHA
:COMMIT_SHA
의 처음 7개 문자입니다.REPO_NAME
: 저장소의 이름입니다. 예를 들면my-repo
입니다.REPO_FULL_NAME
: 저장소의 리소스 경로입니다(예:projects/my-project/locations/us-central/repositories/test-repo
).REF_NAME
: 트리거와 연결된 브랜치 또는 태그의 이름입니다.TRIGGER_BUILD_CONFIG_PATH
: 빌드 실행 중에 사용된 빌드 구성 파일의 경로입니다.
Cloud Build 구성 파일에 Secure Source Manager 대체 변수를 포함하는 방법은 변수 값 대체를 참고하세요.
다음 단계
- 트리거 파일 만들기
- 빌드 구성 파일 스키마를 읽고 Cloud Build 구성 파일에 대해 자세히 알아보세요.