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. 변경 사항 저장을 선택합니다.

참고: 다운타임과 리스크를 최소화하기 위해 블루-그린 배포 기술을 사용하세요.

Auto DevOps 기본 도메인

Auto DevOps 기본 도메인은 Auto Review AppsAuto Deploy를 사용하려면 필요합니다.

기본 도메인을 정의하려면 다음 중 하나를 수행합니다:

  • 프로젝트, 그룹 또는 인스턴스 수준: 클러스터 설정으로 이동하여 거기에 추가합니다.
  • 프로젝트 또는 그룹 수준: 환경 변수로 추가합니다: KUBE_INGRESS_BASE_DOMAIN.
  • 인스턴스 레벨: 관리자 영역으로 이동한 다음, 설정 > CI/CD > Continuous Integration and Delivery로 이동하여 거기에 추가합니다.

기본 도메인 변수 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 팟으로 요청을 라우팅합니다.