Auto DevOps 배포를 준비하세요

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

자동 DevOps를 활성화하지만 기본 도메인과 배포 전략을 설정하지 않으면 GitLab은 애플리케이션을 직접 배포할 수 없습니다. 따라서 우리는 자동 DevOps를 활성화하기 전에 이를 준비하는 것을 권장합니다.

배포 전략

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

배포 전략 설정 방법론
프로덕션으로의 지속적 배포 기본 브랜치를 프로덕션에 지속적으로 배포하는 자동 배포를 활성화합니다. 프로덕션으로의 지속적 배포.
시간별 점진적 프로덕션 배포 INCREMENTAL_ROLLOUT_MODE 변수를 timed로 설정합니다. 배포를 지속적으로 실시하되 롤아웃 간에 5분의 딜레이를 두고 진행합니다.
자동 스테이징 배포, 매뉴얼 프로덕션 배포 STAGING_ENABLED1로, INCREMENTAL_ROLLOUT_MODEmanual로 설정합니다. 기본 브랜치는 스테이징에 지속적으로 배포되며, 프로덕션에는 지속적으로 전달됩니다.

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

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

자동 DevOps 기본 도메인

자동 DevOps 기본 도메인은 자동 리뷰 앱자동 배포 사용에 필요합니다.

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

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

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

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

자동 DevOps에는 기본 도메인에 일치하는 와일드카드 DNS A 레코드가 필요합니다. example.com과 같은 기본 도메인의 경우 다음과 같은 DNS 항목이 필요합니다.

*.example.com   3600     A     10.0.2.2

이 경우, 배포된 애플리케이션은 example.com에서 제공되며, 10.0.2.2 는 대개 NGINX인 로드 밸런서의 IP 주소입니다 (요구 사항 참조). DNS 레코드 설정은 이 문서의 범위를 벗어나므로, 관련 정보는 DNS 제공업체에 문의하세요.

또한, 구성 없이 와일드카드 DNS를 제공하는 무료 공용 서비스인 nip.io를 사용할 수 있습니다. nip.io의 경우, 자동 DevOps 기본 도메인을 10.0.2.2.nip.io로 설정하세요.

설정을 완료한 후, 모든 요청이 로드 밸런서를 향하고, 로드 밸런서는 애플리케이션을 실행하는 Kubernetes pod으로 요청을 라우팅합니다.