배포 승인
- GitLab 14.7에 도입. 기본적으로 비활성화된
deployment_approvals
플래그가 있습니다.- GitLab 14.8에서 제너럴리 사용가능.
deployment_approvals
기능 플래그가 제거되었습니다.
보호된 환경으로의 배포에 대해 추가적인 승인을 요구할 수 있습니다. 필요한 모든 승인이 이루어질 때까지 배포가 차단됩니다.
테스트, 보안 또는 규정 준수 프로세스 등을 수용하기 위해 배포 승인을 사용할 수 있습니다. 예를 들어, 프로덕션 환경으로의 배포에 대해 승인을 요구할 수 있습니다.
배포 승인 구성
프로젝트에서 보호된 환경으로의 배포에 대해 승인을 요구할 수 있습니다.
전제 조건:
- 환경을 업데이트하려면 적어도 Maintainer 역할이 있어야 합니다.
프로젝트에 대해 배포 승인을 구성하려면:
-
프로젝트의
.gitlab-ci.yml
파일에 배포 작업을 생성합니다:stages: - deploy production: stage: deploy script: - 'echo "${CI_ENVIRONMENT_NAME}(으)로 배포 중"' environment: name: ${CI_JOB_NAME} action: start
이 작업은 수동 작업일 필요가 없습니다 (
when: manual
). -
필요한 승인 규칙을 추가합니다.
프로젝트의 환경은 배포 전에 승인이 필요합니다.
여러 승인 규칙 추가
- GitLab 14.10에 도입. 기본적으로 비활성화된
deployment_approval_rules
플래그가 있습니다.- GitLab 15.0에서 제너럴리 사용가능. 피쳐 플래그
deployment_approval_rules
가 제거되었습니다.- UI 구성은 GitLab 15.11에 도입되었습니다.
여러 승인 규칙을 추가하여 누가 승인하고 배포 작업을 실행할 수 있는지 제어할 수 있습니다.
여러 승인 규칙을 구성하려면 CI/CD 설정을 사용하세요. API도 사용할 수 있습니다.
환경으로 배포하는 모든 작업이 차단되어 승인을 기다리게 됩니다. 필요한 승인 수가 배포를 허용하는 사용자 수보다 작아야 합니다.
배포 작업이 승인되고 나면, 작업을 수동으로 실행해야 합니다.
통합 승인 설정 (폐기 예정)
- UI 구성은 GitLab 15.11에 제거되었습니다.
경고: 이 기능은 GitLab 16.1에서 폐기 예정되었으며 17.0에서 제거될 예정입니다. 대신 여러 승인 규칙을 사용하세요. 이 변경은 호환성이 없는 변경입니다.
보호된 환경에 대한 승인을 구성하려면:
-
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"
여러 승인 규칙으로 마이그레이션
보호된 환경을 통합 승인 규칙에서 여러 승인 규칙으로 마이그레이션할 수 있습니다. 통합 승인 규칙을 사용하면 환경으로 배포할 수 있는 모든 개체가 배포 작업을 승인할 수 있습니다. 여러 승인 규칙으로 마이그레이션하려면, 각 개체에게 환경으로 배포할 수 있는 권한을 가진 새 승인 규칙을 생성하세요.
다음과 같이 여러 승인 규칙으로 마이그레이션합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 보호된 환경을 확장합니다.
- 환경 목록에서 환경을 선택합니다.
- 환경으로 배포할 수 있는 각 개체에 대해:
- 승인 규칙 추가를 선택합니다.
- 대화상자에서 배포 작업을 승인할 수 있는 개체를 선택합니다.
- 필요한 승인 수를 입력합니다.
- 저장을 선택합니다.
각 배포는 지정된 개체로부터 필요한 승인 수를 요구합니다.
예를 들어, 아래의 Production
환경은 합계 다섯 개의 승인이 필요하며 Very Important Group
그룹과 Administrator
사용자만에서의 배포를 허용합니다:
마이그레이션하기 위해, Very Important Group
과 Administrator
에 대한 규칙을 생성합니다. Very Important Group
에 대한 필요한 승인 수를 네 개, Administrator
에 대한 필요한 승인 수를 하나로 설정하여 필요한 승인 수를 유지합니다. 새 규칙은 Administrator
가 Production
에서 각 배포 작업을 승인해야합니다.
자체 승인 허용
- GitLab 15.8에서 도입됨.
- 사용성 문제로 GitLab 16.2에서 자동 승인이 제거됨.
기본적으로 배포 파이프라인을 트리거하는 사용자는 배포 작업을 승인할 수 없습니다.
GitLab 관리자는 모든 배포를 승인하거나 거부할 수 있습니다.
배포 작업의 자체 승인을 허용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 보호된 환경을 확장합니다.
- 승인 옵션에서 파이프라인 트리거러가 배포를 승인할 수 있도록 허용 확인란을 선택합니다.
배포 승인 또는 거부
- GitLab 14.9에서 도입됨.
여러 승인 규칙이 있는 환경에서 다음을 수행할 수 있습니다:
- 배포를 승인하여 진행하도록 허용합니다.
- 배포를 거부하여 방지합니다.
전제 조건:
- 보호된 환경에 배포할 권한이 있어야 합니다.
배포를 승인하거나 거부하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 환경의 이름을 선택합니다.
- 배포의 행에서 승인 옵션을 선택합니다 (). 배포를 승인 또는 거부하기 전에 배포의 승인 세부 정보를 볼 수 있습니다.
- 선택 사항. 배포를 승인하거나 거부하는 이유를 설명하는 댓글을 추가합니다.
- 승인 또는 거부를 선택합니다.
또한 API를 사용하여 배포를 승인하거나 거부할 수 있습니다.
해당 배포 작업은 승인된 후에 자동으로 실행되지 않습니다.
배포의 승인 세부 정보 보기
전제 조건:
- 보호된 환경에 배포할 권한이 있어야 합니다.
보호된 환경으로의 배포는 필요한 모든 승인이 허용된 후에만 진행될 수 있습니다.
배포의 승인 세부 정보를 보려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 환경의 이름을 선택합니다.
- 배포의 행에서 승인 옵션을 선택합니다 ().
승인 상태 세부 정보가 표시됩니다:
- 해당 승인자
- 허용된 승인 수 및 필요한 승인 수
- 승인을 허용한 사용자
- 승인 또는 거부 기록
차단된 배포 보기
배포의 상태를 검토하고, 배포가 차단되었는지 여부를 확인합니다.
배포를 보려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 배포되는 환경을 선택합니다.
차단됨 라벨이 있는 배포는 차단됩니다.
배포를 보려면 API를 사용하여 배포의 상태
필드가 배포가 차단되었는지를 나타냅니다.