배포 승인
- GitLab 14.7에서
deployment_approvals
라는 플래그로 도입되었습니다. 기본적으로 비활성화되어 있습니다.- GitLab 14.8에서 일반 사용 가능 상태로 변경되었습니다.
deployment_approvals
피처 플래그가 제거되었습니다.
보호된 환경으로의 배포에 대한 추가 승인을 요청할 수 있습니다. 필요한 모든 승인이 획득될 때까지 배포는 차단됩니다.
테스트, 보안 또는 규정 준수 프로세스를 수용하기 위해 배포 승인을 사용하세요. 예를 들어, 프로덕션 환경으로의 배포에 대한 승인을 요구할 수 있습니다.
배포 승인 구성
프로젝트에서 보호된 환경으로의 배포에 대한 승인을 요구할 수 있습니다.
필수 조건:
- 환경을 업데이트하려면 적어도 관리자(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 14.10에서
deployment_approval_rules
라는 플래그로 도입되었습니다. 기본적으로 비활성화되어 있습니다.- GitLab 15.0에서 일반 사용 가능 상태로 변경되었습니다. 피처 플래그
deployment_approval_rules
가 제거되었습니다.- UI 구성은 GitLab 15.11에 도입되었습니다.
여러 승인 규칙을 추가하여 배포 작업의 승인 및 실행을 제어할 수 있습니다.
여러 승인 규칙을 구성하려면 CI/CD 설정을 사용하세요. API를 사용할 수도 있습니다.
환경으로의 모든 작업은 실행되기 전에 차단되어 승인을 기다립니다. 필요한 승인 수가 허용된 사용자 수보다 작은지 확인하세요.
배포 작업이 승인된 후에는 매뉴얼으로 작업을 실행해야 합니다.
통합 승인 설정 (사용 중지됨)
- UI 구성은 GitLab 15.11에서 제거되었습니다.
보호된 환경에 대한 승인을 구성하려면:
-
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를 선택하세요.
- 보호된 환경을 확장하세요.
- 환경 디렉터리에서 환경을 선택하세요.
- 환경으로 배포를 승인할 수 있는 각 엔터티에 대해:
- 승인 규칙 추가를 선택하세요.
- 대화 상자에서 배포 작업을 승인할 수 있는 엔터티를 선택하세요.
- 필요한 승인 수를 입력하세요.
- 저장을 선택하세요.
각 배포는 지정된 승인 수를 모든 엔터티로부터 필요로 합니다.
예를 들어, 아래의 프로덕션
환경은 총 다섯 개의 승인이 필요하고 Very Important Group
그룹과 Administrator
사용자만에서 배포를 허용합니다:
마이그레이션을 위해 Very Important Group
과 Administrator
의 규칙을 만드세요. Very Important Group
에 대한 필요한 승인 수를 네 개로 설정하고 Administrator
에 대한 필요한 승인 수를 하나로 설정하세요. 새로운 규칙에 따라 Administrator
는 프로덕션
에서 모든 배포 작업을 승인해야 합니다.
자체 승인 허용
- GitLab 15.8에서 도입되었습니다.
- GitLab 16.2에서 자동 승인이 사용 중단되었습니다.
기본적으로 배포 파이프라인을 트리거하는 사용자는 배포 작업을 승인할 수 없습니다.
GitLab 관리자는 모든 배포를 승인하거나 거부할 수 있습니다.
배포 작업의 자체 승인을 허용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾으세요.
- 설정 > CI/CD를 선택하세요.
- 보호된 환경을 확장하세요.
- 승인 옵션에서 파이프라인 트리거러가 배포를 승인할 수 있도록 허용 확인란을 선택하세요.
배포 승인 또는 거부
여러 승인 규칙이 있는 환경에서 다음을 수행할 수 있습니다.
- 진행을 허용하기 위해 배포를 승인합니다.
- 방지하기 위해 배포를 거부합니다.
필수 조건:
- 보호된 환경으로의 배포 권한이 있어야 합니다.
배포를 승인 또는 거부하려면 다음을 수행합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 환경의 이름을 선택합니다.
- 배포 행에서 승인 옵션을 선택합니다 (). 배포를 승인 또는 거부하기 전에 배포의 승인 세부 정보를 볼 수 있습니다.
- 선택 사항. 배포를 승인 또는 거부하는 이유를 설명하는 코멘트를 추가합니다.
- 승인 또는 거부를 선택합니다.
또한 API를 사용하여 수행할 수 있습니다.
해당 배포 작업은 승인된 후에 자동으로 실행되지 않습니다.
배포 승인 세부 정보 보기
필수 조건:
- 보호된 환경으로의 배포 권한이 있어야 합니다.
보호된 환경으로의 배포는 필요한 모든 승인이 허용된 후에만 진행될 수 있습니다.
배포의 승인 세부 정보를 보려면 다음을 수행합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 환경의 이름을 선택합니다.
- 배포 행에서 승인 옵션을 선택합니다 ().
승인 상태 세부 정보가 표시됩니다.
- 승인 대상자
- 허용된 승인 수 및 필요한 승인 수
- 승인을 허용한 사용자
- 승인 또는 거부 기록
차단된 배포 보기
배포의 상태를 검토하여 배포가 차단되었는지 여부 등을 확인합니다.
배포를 보려면 다음을 수행합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 운영 > 환경을 선택합니다.
- 배포할 환경을 선택합니다.
차단 라벨이 있는 배포는 차단되어 있습니다.
또한 API를 사용하여 배포를 볼 수 있습니다.
상태
필드는 배포가 차단되었는지 여부를 나타냅니다.