배포 승인
Protected environments로의 배포에 대한 추가적인 승인을 요구할 수 있습니다. 필요한 승인이 모두 허용될 때까지 배포가 차단됩니다.
배포 승인을 사용하여 테스트, 보안 또는 규정 준수 프로세스를 수용하세요. 예를 들어, 프로덕션 환경으로의 배포에 대해 승인을 요구할 수 있습니다.
배포 승인 구성
프로젝트에서 Protected environments로의 배포에 대한 승인을 요구할 수 있습니다.
전제 조건:
- 환경을 업데이트하려면 적어도 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
가 제거됨.- UI 구성은 GitLab 15.11에서 도입되었습니다.
다중 승인 규칙을 추가하여 누가 승인하고 배포 작업을 실행할 수 있는지 제어하세요.
다중 승인 규칙을 구성하려면 CI/CD 설정을 사용합니다. API도 사용할 수 있습니다.
환경으로 배포하는 모든 작업은 실행되기 전에 차단됩니다. 필요한 승인 수가 배포를 허용하는 사용자 수보다 적도록 해야 합니다.
배포 작업이 승인되면 작업을 매뉴얼으로 실행해야 합니다.
통합 승인 설정 (비권장)
- UI 구성은 GitLab 15.11에서 제거되었습니다.
Protected environment에 대한 승인을 구성하려면:
-
REST API 사용하여
required_approval_count
필드를 1 이상으로 설정합니다.
이 설정이 구성된 후에는 모든 환경으로의 배포 작업이 자동으로 차단되어 승인을 기다립니다. 필요한 승인 수가 배포를 허용하는 사용자 수보다 적도록하세요.
예시:
curl --header 'Content-Type: application/json' --request POST \
--data '{"name": "production", "deploy_access_levels": [{"group_id": 9899826}], "required_approval_count": 1}' \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/22034114/protected_environments"
다중 승인 규칙으로 마이그레이션
Protected environment를 통합 승인 규칙에서 다중 승인 규칙으로 마이그레이션할 수 있습니다. 통합 승인 규칙은 환경으로 배포할 수 있는 모든 개체의 배포 작업 승인을 허용합니다. 다중 승인 규칙으로 마이그레이션하려면, 각 환경으로 배포할 수 있는 개체에 대해 새로운 승인 규칙을 만듭니다.
다중 승인 규칙으로 마이그레이션하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- Protected environments를 확장합니다.
- 환경 디렉터리에서 환경을 선택합니다.
- 환경으로 배포할 수 있는 각 개체에 대해:
- 승인 규칙 추가를 선택합니다.
- 대화상자에서 배포 작업을 승인할 수 있는 개체를 선택합니다.
- 필요한 승인 수를 입력합니다.
- 저장을 선택합니다.
각 배포에는 각 개체에서 지정된 수의 승인이 필요합니다.
예를 들어, 아래의 Production
환경은 총 5개의 승인이 필요하며, Very Important Group
그룹과 Administrator
사용자만에서의 배포를 허용합니다.
마이그레이션하려면, Very Important Group
과 Administrator
에 대한 규칙을 만듭니다. 필요한 승인 수를 유지하기 위해 Very Important Group
의 필요한 승인을 4개, Administrator
의 필요한 승인을 1개로 설정하세요. 새로운 규칙은 Administrator
가 Production
에서의 각 배포 작업을 승인하도록 합니다.
자체 승인 허용
- GitLab 15.8에서 도입됨.
- GitLab 16.2에서 사용성 문제로 자동 승인이 제거되었습니다.
기본적으로 배포 파이프라인을 트리거한 사용자는 배포 작업을 승인할 수 없습니다.
GitLab 관리자는 모든 배포를 승인하거나 거부할 수 있습니다.
배포 작업의 자체 승인을 허용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- Protected environments를 확장합니다.
- 승인 옵션에서 파이프라인 트리거러가 배포를 승인할 수 있도록 허용 확인란을 선택합니다.
배포 승인 승인 또는 거부
다중 승인 규칙이 있는 환경에서 다음을 수행할 수 있습니다:
- 배포를 승인하여 계속 진행합니다.
- 배포를 거부하여 중지합니다.
전제 조건:
- Protected environment로 배포할 권한이 있어야 합니다.
배포를 승인 또는 거부하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 환경의 이름을 선택합니다.
- 배포를 찾고 해당 상태 뱃지를 선택합니다.
- 선택 사항. 배포를 승인하거나 거부하는 이유를 설명하는 코멘트를 추가합니다.
- 승인 또는 거부를 선택합니다.
또한 API를 사용할 수 있습니다.
해당 배포 작업은 배포가 승인되고 나서 자동으로 실행되지 않습니다.
배포 승인의 세부 정보 보기
전제 조건:
- Protected environment로 배포할 권한이 있어야 합니다.
Protected environment로의 배포는 필요한 승인이 모두 허용된 후에만 진행될 수 있습니다.
배포의 승인 세부 정보를 보려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 환경의 이름을 선택합니다.
- 배포를 찾고 해당 상태 뱃지를 선택합니다.
승인 상태 세부 정보가 표시됩니다:
- 사용 가능한 승인자
- 부여된 승인 수 및 필요한 승인 수
- 승인을 부여한 사용자
- 승인 또는 거부 이력
차단된 배포 보기
배포의 상태, 차단 여부를 포함한 배포 상태를 검토하세요.
배포를 보려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 배포할 환경을 선택합니다.
blocked 레이블이 있는 배포는 차단된 상태입니다.
배포를 보려면 API를 사용할 수도 있습니다.
status
필드가 배포가 차단됐는지 여부를 나타냅니다.