배포 승인
보호된 환경에 배포하기 위해 추가 승인을 요구할 수 있습니다.
모든 요구 승인이 주어질 때까지 배포는 차단됩니다.
테스트, 보안 또는 준수 프로세스를 수용하기 위해 배포 승인을 사용하세요. 예를 들어, 프로덕션 환경에 대한 배포에 승인을 요구할 수 있습니다.
배포 승인 구성
프로젝트에서 보호된 환경에 대한 배포 승인을 요구할 수 있습니다.
선행 조건:
- 환경을 업데이트하려면 최소한 Maintainer 역할이 필요합니다.
프로젝트에 대한 배포 승인을 구성하려면:
-
프로젝트의
.gitlab-ci.yml
파일에 배포 작업을 생성합니다:stages: - deploy production: stage: deploy script: - 'echo "Deploying to ${CI_ENVIRONMENT_NAME}"' environment: name: ${CI_JOB_NAME} action: start
작업은 수동일 필요는 없습니다(
when: manual
). -
필요한 승인 규칙을 추가합니다.
프로젝트의 환경은 배포 전에 승인이 필요합니다.
여러 승인 규칙 추가
- GitLab 15.0에서 일반 사용 가능. 기능 플래그
deployment_approval_rules
제거됨.- GitLab 15.11에서 UI 구성이 도입됨.
배포 작업을 승인하고 실행할 수 있는 사람을 제어하기 위해 여러 승인 규칙을 추가하세요.
여러 승인 규칙을 구성하려면 CI/CD 설정을 사용하세요.
API를 사용할 수도 있습니다.
환경에 배포하는 모든 작업은 차단되며 실행 전에 승인을 기다립니다.
필요한 승인 수가 배포할 수 있는 사용자 수보다 적은지 확인하세요.
배포 작업이 승인된 후에는 작업을 수동으로 실행해야 합니다.
자가 승인 허용
기본적으로 배포 파이프라인을 트리거하는 사용자는 배포 작업을 승인할 수 없습니다.
GitLab 관리자는 모든 배포를 승인하거나 거부할 수 있습니다.
배포 작업의 자가 승인을 허용하려면:
- 왼쪽 사이드바에서 Search or go to 선택 후 프로젝트를 찾습니다.
- Settings > CI/CD를 선택합니다.
- Protected environments를 확장합니다.
- Approval options에서 Allow pipeline triggerer to approve deployment 체크박스를 선택합니다.
배포 승인 또는 거부
여러 승인 규칙이 있는 환경에서 다음을 수행할 수 있습니다:
- 배포를 승인하여 진행할 수 있도록 합니다.
- 배포를 거부하여 방지합니다.
선행 조건:
- 보호된 환경에 배포할 수 있는 권한이 있습니다.
배포를 승인하거나 거부하려면:
- 왼쪽 사이드바에서 Search or go to 선택 후 프로젝트를 찾습니다.
- Operate > Environments를 선택합니다.
- 환경의 이름을 선택합니다.
- 배포를 찾아 해당 Status badge를 선택합니다.
- 선택 사항. 배포를 승인하거나 거부하는 이유를 설명하는 주석을 추가합니다.
- Approve 또는 Reject를 선택합니다.
배포가 승인된 후 해당 배포 작업은 자동으로 실행되지 않습니다.
배포 승인 세부정보 보기
선행 조건:
- 보호된 환경에 배포할 수 있는 권한이 있습니다.
보호된 환경으로의 배포는 모든 필수 승인이 부여된 후에만 진행될 수 있습니다.
배포의 승인 세부정보를 보려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Operate > Environments를 선택합니다.
- 환경의 이름을 선택합니다.
- 배포를 찾고 해당 상태 배지를 선택합니다.
승인 상태 세부정보가 표시됩니다:
- 적격 승인자
- 승인된 수와 필요한 승인 수
- 승인을 부여한 사용자
- 승인 또는 거부의 내역
차단된 배포 보기
배포의 상태를 검토하고, 배포가 차단되었는지 여부를 확인합니다.
배포를 보려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Operate > Environments를 선택합니다.
- 배포하려는 환경을 선택합니다.
차단됨 레이블이 있는 배포는 차단되어 있습니다.
배포를 보려면 API를 사용할 수도 있습니다.
status
필드는 배포가 차단되었는지 여부를 나타냅니다.