배포를 위한 Auto DevOps 준비
GitLab v19.1Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
베이스 도메인과 배포 전략을 설정하지 않고 Auto DevOps를 활성화하면, GitLab이 애플리케이션을 직접 배포할 수 없습니다. Auto DevOps를 사용하여 애플리케이션을 배포할 때는, 필요에 가장 적합한 지속적 배포 전략을 선택하세요.
베이스 도메인과 배포 전략을 설정하지 않고 Auto DevOps를 활성화하면, GitLab이 애플리케이션을 직접 배포할 수 없습니다. 따라서 Auto DevOps를 활성화하기 전에 전략을 먼저 준비해야 합니다.
배포 전략#
Auto DevOps를 사용하여 애플리케이션을 배포할 때는, 필요에 가장 적합한 지속적 배포 전략을 선택하세요.
| 배포 전략 | 설정 | 방법론 |
|---|---|---|
| 프로덕션으로의 지속적 배포 | 기본 브랜치가 프로덕션에 지속적으로 배포되도록 Auto Deploy를 활성화합니다. | 프로덕션으로의 지속적 배포. |
| 시간 단계적 롤아웃을 사용하는 프로덕션으로의 지속적 배포 | INCREMENTAL_ROLLOUT_MODE 변수를 timed로 설정합니다. | 롤아웃 사이에 5분 지연을 두고 프로덕션에 지속적으로 배포합니다. |
| 스테이징으로 자동 배포, 프로덕션으로 수동 배포 | STAGING_ENABLED를 1로, INCREMENTAL_ROLLOUT_MODE를 manual로 설정합니다. | 기본 브랜치는 스테이징에 지속적으로 배포되고, 프로덕션으로는 지속적으로 전달됩니다. |
Auto DevOps를 활성화할 때 또는 이후에 배포 방법을 선택할 수 있습니다.
-
GitLab에서 프로젝트의 Settings > CI/CD > Auto DevOps로 이동합니다.
-
배포 전략을 선택합니다.
-
Save changes를 선택합니다.
다운타임과 위험을 최소화하려면 블루-그린 배포 기법을 사용하세요.
Auto DevOps 베이스 도메인#
Auto DevOps 베이스 도메인은 Auto Review Apps와 Auto Deploy를 사용하는 데 필요합니다.
베이스 도메인을 정의하려면 다음 중 하나를 수행하세요.
-
프로젝트, 그룹 또는 인스턴스에서: 클러스터 설정으로 이동하여 거기에 추가합니다.
-
프로젝트 또는 그룹에서: 환경 변수로 추가합니다:
KUBE_INGRESS_BASE_DOMAIN. -
인스턴스에서: Admin 영역으로 이동한 다음 Settings > CI/CD > Continuous Integration and Delivery로 이동하여 거기에 추가합니다.
베이스 도메인 변수 KUBE_INGRESS_BASE_DOMAIN은 다른 환경 변수와 동일한 우선순위 순서를 따릅니다.
프로젝트와 그룹에서 베이스 도메인을 지정하지 않으면, Auto DevOps는 인스턴스 전체의 Auto DevOps domain을 사용합니다.
Auto DevOps는 베이스 도메인과 일치하는 와일드카드 DNS A 레코드가 필요합니다.
베이스 도메인이 example.com인 경우, 다음과 같은 DNS 항목이 필요합니다.
*.example.com 3600 A 10.0.2.2
이 경우 배포된 애플리케이션은 example.com에서 제공되며, 10.0.2.2는 로드 밸런서(일반적으로 NGINX)의 IP 주소입니다(요구사항 참조).
DNS 레코드 설정은 이 문서의 범위를 벗어나므로, 자세한 내용은 DNS 제공업체에 문의하세요.
또는 nip.io와 같은 무료 공개 서비스를 사용할 수 있습니다.
이 서비스는 별도의 설정 없이 자동 와일드카드 DNS를 제공합니다.
nip.io를 사용하는 경우, Auto DevOps 베이스 도메인을 10.0.2.2.nip.io로 설정하세요.
설정을 완료하면 모든 요청이 로드 밸런서로 전달되고, 로드 밸런서는 애플리케이션을 실행하는 쿠버네티스 Pod로 요청을 라우팅합니다.