승인 시 게이트 빌드

Cloud Build를 사용하면 빌드를 즉시 실행하지 않고 승인될 때까지 빌드를 대기 중으로 표시하는 트리거를 구성할 수 있습니다. 권한을 가진 사용자가 대기 중인 빌드를 승인하면 빌드가 시작됩니다. 승인이 거부되면 빌드가 시작되지 않습니다.

이 페이지에서는 수동으로 빌드를 승인하거나 거부하는 방법을 설명합니다. 승인이 필요한 트리거를 구성하는 방법에 대해 알아보려면 빌드 트리거 만들기를 참조하세요.

시작하기 전에

  • Cloud Build API 사용 설정

    API 사용 설정

  • Google Cloud CLI를 설치합니다.

  • 아직 만들지 않았다면 승인이 필요하도록 구성된 빌드 트리거를 만듭니다.

권한 부여

사용자에게 Cloud Build 편집자 역할이 있는 경우 승인이 필요하거나 필요하지 않도록 트리거를 업데이트할 권한이 있습니다. Cloud Build 권한에 대한 자세한 내용은 IAM 및 권한을 참조하세요. 프로젝트 내에서 빌드를 승인할 수 있는 사용자 권한을 부여하려면 사용자에게 Cloud Build 승인 담당자 역할이 있어야 합니다.

Cloud Build 승인 담당자 역할을 추가하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 IAM 페이지를 엽니다.

    IAM 페이지 열기

  2. 액세스 권한 부여를 클릭합니다.

    액세스 권한 부여 패널이 표시됩니다.

  3. 주 구성원 추가 섹션에서 사용자를 추가하여 프로젝트 내에서 대기 중인 빌드에 대한 승인을 부여할 수 있는 권한을 제공할 수 있습니다.

    이 섹션에는 주 구성원을 한 명 이상 추가해야 합니다. 자신을 주 구성원으로 추가하는 경우 트리거가 승인으로 관리되면 대기 중인 빌드를 수동으로 승인해야 합니다.

  4. 역할 할당 섹션에서 Cloud Build > Cloud Build 승인 담당자를 선택합니다.

지정한 사용자가 이제 대기 중인 빌드를 승인하거나 거부할 수 있는 액세스 권한이 있습니다.

빌드 승인

Console

Google Cloud Console에서 대기 중인 빌드를 승인하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 Cloud Build 대시보드 페이지를 엽니다.

    Cloud Build 대시보드 페이지 열기

  2. 승인할 빌드가 있는 경우 페이지 상단에 승인 대기 중인 빌드 수가 포함된 메시지가 표시됩니다. 메시지 오른쪽에서 빌드 보기를 클릭하여 승인 대기 중인 빌드 목록을 확인합니다.

  3. 승인하려는 빌드의 체크박스를 클릭합니다. 승인할 빌드 여러 개를 선택하거나 승인할 빌드 하나를 선택할 수 있습니다.

  4. 페이지 상단에서 승인을 클릭하여 선택한 빌드를 승인합니다.

  5. 빌드가 시작되기 전에 빌드 승인 대화상자가 표시됩니다. 대화상자에서 선택사항 메시지 및 빌드의 승인과 함께 표시할 URL을 추가할 수 있습니다. URL을 포함하려면 추가 옵션 표시를 클릭하여 URL을 입력합니다.

  6. 대화상자에서 승인을 클릭하여 빌드를 승인합니다.

승인하면 빌드가 즉시 시작됩니다. 조직 정책(constraints/cloudbuild.allowedIntegrations)에서 연결된 저장소에 대한 액세스를 거부하면 정책이 승인을 재정의합니다. 자세한 내용은 조직 정책 기반 게이트 빌드를 참조하세요.

gcloud

gcloud commands를 사용하여 대기 중인 빌드를 승인하려면 터미널 창에서 다음 명령어를 실행합니다.

gcloud builds approve BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

위 명령어의 자리표시자 값을 다음으로 바꿉니다.

  • BUILD_ID는 승인할 빌드의 ID입니다.
  • PROJECT_ID는 프로젝트 ID입니다.
  • [선택사항] URL은 JIRA 티켓 링크와 같은 승인에 대한 정보가 포함된 URL입니다.
  • [선택사항] COMMENT는 빌드 승인 시 표시할 메시지입니다.

승인하면 빌드가 즉시 시작됩니다. 허용된 통합(constraints/cloudbuild.allowedIntegrations)의 빌드를 정의하는 조직 정책이 설정되면 이 정책에서 승인을 재정의합니다. 자세한 내용은 트리거를 빌드하도록 조직 정책 적용을 참조하세요.

빌드 거부

Console

Google Cloud Console에서 대기 중인 빌드를 거부하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 Cloud Build 대시보드 페이지를 엽니다.

    Cloud Build 대시보드 페이지 열기

  2. 승인할 빌드가 있는 경우 페이지 상단에 승인 대기 중인 빌드 수가 포함된 메시지가 표시됩니다. 메시지 오른쪽에서 빌드 보기를 클릭하여 승인 대기 중인 빌드 목록을 확인합니다.

  3. 거부할 빌드 여러 개를 선택하거나 거부할 빌드 하나를 선택할 수 있습니다. 거부하려는 빌드의 체크박스를 클릭합니다.

  4. 페이지 상단의 거부를 클릭하여 빌드를 거부합니다.

빌드를 거부하면 빌드가 시작되지 않습니다.

gcloud

gcloud commands를 사용하여 대기 중인 빌드를 거부하려면 터미널 창에서 다음 명령어를 실행합니다.

gcloud builds reject BUILD_ID \
  --project=PROJECT_ID \
  --url=URL \
  --comment=COMMENT

위 명령어의 자리표시자 값을 다음으로 바꿉니다.

  • BUILD_ID는 거부할 빌드의 ID입니다.
  • PROJECT_ID는 프로젝트 ID입니다.
  • [선택사항] URL은 JIRA 티켓 링크와 같은 거부에 대한 정보가 포함된 URL입니다.
  • [선택사항] COMMENT는 빌드 거부 시 표시할 메시지입니다.

빌드를 거부하면 빌드가 시작되지 않습니다.

승인 대기 중인 빌드에 대한 알림 수신

Cloud Build 알리미를 사용하면 Slack 또는 SMTP 서버와 같은 Cloud Build 유지보수 알리미를 사용하거나 자체 알리미를 만들어 대기 중인 빌드에 관한 알림을 수신할 수 있습니다.

알림을 구성하려면 다음 안내를 따르세요.

  1. 다음 페이지 중 하나의 안내에 따라 원하는 서비스의 알림을 구성합니다.

  2. 위 페이지 중 하나를 사용하여 알림을 구성할 때는 대기중 상태로 빌드를 필터링하도록 알리미를 구성해야 합니다. 이렇게 하면 승인 대기 중인 빌드에 관한 알림이 전송됩니다. 다음 SMTP 알리미 구성 파일 예시에서는 필터 필드가 Common Expression Language(CEL)를 사용하여 대기중 상태로 빌드 이벤트를 필터링합니다.

    apiVersion: cloud-build-notifiers/v1
    kind: SMTPNotifier
    metadata:
      name: example-smtp-notifier
    spec:
      notification:
        filter: build.status == Build.Status.PENDING
        delivery:
          server: example.gmail.com
          port: 0000
          sender: sender@example.com
          ...
    

    전체 예시를 보려면 SMTP 알리미에 대한 알리미 구성 파일을 참조하세요.

  3. 알리미를 배포하려면 터미널에서 gcloud run 명령어를 실행합니다. 다음 예시에서는 Cloud Run을 사용하여 SMTP 알리미를 배포합니다.

    gcloud run deploy example.gmail.com \
      --image=us-east1-docker.pkg.dev/gcb-release/cloud-build-notifiers/smtp:latest \
      --update-env-vars=CONFIG_PATH=smtp.yaml, PROJECT_ID=my-project
    

이제 서비스에 대기 중인 빌드에 대한 알림이 수신됩니다.

다음 단계