배포 승인
배포 승인 (Deployment approvals)
프로덕션 같은 중요한 환경에 배포하기 전에, 원하는 승인을 추가 받도록 강제하고 싶을 때가 있어요. protected 환경으로의 배포에 추가 승인을 요구하면, 필요한 승인이 모두 채워지기 전까지는 배포가 막힙니다. 테스트·보안·컴플라이언스 프로세스를 지키면서 배포를 진행하고 싶을 때 유용한 기능이에요.
출처: 문서
본문
protected 환경으로의 배포에 추가 승인을 요구할 수 있습니다. 필요한 승인이 모두 주어질 때까지 배포는 차단됩니다.
배포 승인을 사용해 테스트, 보안, 또는 컴플라이언스 프로세스를 수용할 수 있어요. 예를 들어 프로덕션 환경으로의 배포에 승인을 요구하고 싶을 수 있죠.
배포 승인 설정하기
프로젝트에서 protected 환경으로의 배포에 승인을 요구하도록 설정할 수 있습니다.
전제 조건:
- 환경을 업데이트하려면 Maintainer 또는 Owner 역할이 있어야 합니다.
프로젝트에 대한 배포 승인을 설정하려면:
- 프로젝트의
.gitlab-ci.yml파일에 배포 잡을 만듭니다.
stages:
- deploy
production:
stage: deploy
script:
- 'echo "Deploying to ${CI_ENVIRONMENT_NAME}"'
environment:
name: ${CI_JOB_NAME}
action: start
이 잡은 수동(when: manual)일 필요는 없습니다.
- 필요한 승인 규칙을 추가합니다.
그러면 프로젝트의 환경이 배포 전에 승인을 요구하게 됩니다.
여러 승인 규칙 추가하기
배포 잡을 승인하고 실행할 수 있는 사람을 통제하려면 여러 승인 규칙을 추가합니다.
여러 승인 규칙을 추가하려면 프로젝트에 대한 Developer 역할이 있어야 합니다. 그룹을 승인자로 추가하려면 그룹을 프로젝트에 초대해야 합니다. 초대된 그룹만 승인자 목록에 나타나요.
여러 승인 규칙을 구성하려면 CI/CD 설정을 사용합니다. API로도 구성할 수 있습니다.
환경에 배포하는 모든 잡은 실행 전에 승인을 기다리며 차단됩니다. 필요한 승인 수가 배포를 허용된 사용자 수보다 적도록 확인하세요.
한 사용자는 배포당 승인을 하나만 줄 수 있어요. 여러 승인자 그룹의 구성원이라도 마찬가지입니다. 이슈 457541에서 같은 사용자가 서로 다른 승인자 그룹에서 배포당 여러 승인을 줄 수 있게 바꾸는 것을 제안하고 있어요.
배포 잡이 승인된 후에는 잡을 수동으로 실행해야 합니다.
자기 승인 허용하기
기본적으로 배포 파이프라인을 트리거한 사용자는 배포 잡을 동시에 승인할 수 없습니다.
GitLab 관리자는 모든 배포를 승인하거나 거부할 수 있어요.
배포 잡의 자기 승인을 허용하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Settings > CI/CD를 선택하세요.
- Protected environments를 펼칩니다.
- Approval options에서 Allow pipeline triggerer to approve deployment 체크박스를 선택하세요.
배포 승인 또는 거부
여러 승인 규칙이 있는 환경에서는 다음을 할 수 있어요.
- 배포를 승인해서 진행을 허용.
- 배포를 거부해서 이를 방지.
전제 조건:
- protected 환경에 배포할 권한이 있어야 합니다.
배포를 승인하거나 거부하려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Operate > Environments를 선택하세요.
- 환경의 이름을 선택합니다.
- 배포를 찾고 Status badge를 선택하세요.
- 선택 사항 — 승인 또는 거부 사유를 설명하는 댓글을 추가합니다.
- Approve 또는 Reject를 선택하세요.
API로도 사용할 수 있습니다.
여러 승인자 그룹의 구성원이어도 배포당 승인은 하나만 줄 수 있어요. 이슈 457541에서 같은 사용자가 서로 다른 승인자 그룹에서 배포당 여러 승인을 줄 수 있게 바꾸는 것을 제안합니다.
배포 승인은 해당 배포 잡을 자동으로 시작하지 않아요. 잡을 수동으로 실행해야 합니다.
배포의 승인 세부 정보 보기
전제 조건:
- protected 환경에 배포할 권한이 있어야 합니다.
protected 환경으로의 배포는 필요한 모든 승인이 부여된 후에만 진행될 수 있습니다.
배포의 승인 세부 정보를 보려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Operate > Environments를 선택하세요.
- 환경의 이름을 선택합니다.
- 배포를 찾고 Status badge를 선택하세요.
다음 승인 상태 세부 정보가 표시됩니다.
- 승인 자격 있는 승인자 (Eligible approvers)
- 부여된 승인 수와 필요한 승인 수
- 승인을 부여한 사용자
- 승인 또는 거부 내역
차단된 배포 보기
배포가 차단되었는지 여부를 포함해 배포 상태를 검토합니다.
배포를 보려면:
- 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- 왼쪽 사이드바에서 Operate > Environments를 선택하세요.
- 배포 대상 환경을 선택합니다.
blocked 라벨이 붙은 배포는 차단된 것입니다.
배포의 승인 상태를 얻으려면 API도 사용할 수 있습니다. status 필드가 배포가 차단되었는지를 나타내요.
관련 주제
더 알아보기
배포 승인은 protected 환경 개념과 함께 동작해요. 승인 규칙을 여러 개 두면 배포를 하는 사람과 승인하는 사람을 분리 통제할 수 있고, 승인 후에는 수동으로 잡을 실행해야 한다는 점을 기억하세요. 다음으로는 protected 환경 설정과 배포 안전(Deployment safety), 그리고 배포 개념 문서를 함께 보면 흐름이 자연스럽게 이어져요.