배포를 위한 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 기본 도메인은 자동 리뷰 애플리케이션Auto Deploy를 사용하기 위해 필요합니다.

기본 도메인을 정의하려면:

  • 프로젝트, 그룹 또는 인스턴스 수준에서: 클러스터 설정으로 이동하여 도메인을 추가합니다.
  • 프로젝트 또는 그룹 수준에서: 환경 변수로 추가합니다: 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 파드로 라우팅됩니다.