배포를 위한 Auto DevOps 준비

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

Auto DevOps를 활성화하되 기본 도메인 및 배포 전략을 설정하지 않으면
GitLab은 애플리케이션을 직접 배포할 수 없습니다. 따라서 Auto DevOps를 활성화하기 전에
이들을 준비하는 것이 좋습니다.

배포 전략

Auto DevOps를 사용하여 애플리케이션을 배포할 때, 가장 적합한
지속적 배포 전략을 선택하세요:

배포 전략 설정 방법론
프로덕션으로의 지속적 배포 기본 브랜치가 지속적으로 프로덕션에 배포되도록 Auto Deploy를 활성화합니다. 프로덕션으로의 지속적 배포.
시간 기반 점진적 롤아웃을 사용하는 프로덕션으로의 지속적 배포 INCREMENTAL_ROLLOUT_MODE 변수를 timed로 설정합니다. 롤아웃 간 5분 지연 시간으로 프로덕션에 지속적으로 배포합니다.
스테이징으로의 자동 배포, 프로덕션으로의 수동 배포 STAGING_ENABLED1로 설정하고 INCREMENTAL_ROLLOUT_MODEmanual로 설정합니다. 기본 브랜치는 지속적으로 스테이징에 배포되고 지속적으로 프로덕션에 전달됩니다.

Auto DevOps를 활성화할 때나 나중에 배포 방법을 선택할 수 있습니다:

  1. GitLab에서 프로젝트의 설정 > CI/CD > Auto DevOps로 이동합니다.
  2. 배포 전략을 선택합니다.
  3. 변경 사항 저장을 선택합니다.
note
블루-그린 배포 기법을 사용하여
다운타임과 위험을 최소화하세요.

Auto DevOps 기본 도메인

Auto DevOps 기본 도메인은
자동 검토 앱자동 배포를 사용하기 위해 필요합니다.

기본 도메인을 정의하려면 다음 방법 중 하나를 사용하세요:

  • 프로젝트, 그룹 또는 인스턴스에서: 클러스터 설정으로 이동하여 추가합니다.
  • 프로젝트 또는 그룹에서: 환경 변수로 추가합니다: KUBE_INGRESS_BASE_DOMAIN.
  • 인스턴스에서: 관리자 영역으로 가서 설정 > CI/CD > 지속적 통합 및 배포로 이동하여 추가합니다.

기본 도메인 변수 KUBE_INGRESS_BASE_DOMAIN는 다른 환경 변수와 동일한 우선순위를 따릅니다.

프로젝트와 그룹에서 기본 도메인을 지정하지 않으면 Auto DevOps는 인스턴스 전체 Auto DevOps 도메인을 사용합니다.

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로 설정하세요.

설정이 완료된 후 모든 요청은 로드밸런서에 도착하며, 로드밸런서는 요청을
애플리케이션을 실행 중인 Kubernetes 포드로 라우팅합니다.