배포 파이프라인 및 대상 만들기

이 페이지에서는 배포 파이프라인을 만드는 방법과 Cloud Deploy가 애플리케이션을 배포할 위치와 방법을 설명하는 대상을 만드는 방법에 대해 설명합니다. 배포 파이프라인 및 대상의 YAML 파일 구조에 대한 설명은 구성 파일 스키마를 참조하세요.

배포 파이프라인 및 대상 정보

배포 파이프라인은 배포 대상진행 상황을 설명합니다. 배포 파이프라인과 동일한 파일 또는 하나 이상의 개별 파일에서 이러한 대상을 정의할 수 있습니다.

배포 파이프라인 및 대상 정의 파일을 만든 후 각 파일에 gcloud deploy apply를 실행하여 Cloud Deploy 리소스로 등록합니다.

배포 파이프라인 및 대상 정의

배포 파이프라인 및 대상 구성 파일의 구조는 여기에 설명되어 있습니다.

이 파일은 원하는 이름으로 부를 수 있습니다. 일반적으로 대상 정의를 포함하는 배포 파이프라인 구성을 clouddeploy.yaml이라고 하며, 대신 하나 이상의 별도 파일에서 정의된 대상을 참조하는 것은 delivery-pipeline.yaml라고 합니다.

타겟은 GKE, GKE Enterprise 또는 Cloud Run을 가리킬 수 있습니다. 배포 파이프라인 내에서 모든 대상은 동일한 런타임 유형(예: 모든 GKE 또는 모든 GKE Enterprise)을 참조해야 합니다.

Google Cloud 콘솔을 사용하여 배포 파이프라인과 대상 만들기

Google Cloud 콘솔을 사용하여 새 배포 파이프라인과 대상을 만들 수 있습니다. 이는 Cloud Deploy를 시험해 볼 때는 유용하지만 프로덕션 워크로드에는 적합하지 않습니다. (Google Cloud 콘솔을 사용하여 출시 버전을 만들 수도 있습니다.)

배포 파이프라인을 만들려면 다음 안내를 따르세요.

  1. 배포 파이프라인 페이지에서 만들기를 클릭합니다.

  2. 이름(또는 기본값 유지)과 설명(선택사항)을 입력합니다.

  3. 리전을 선택합니다.

  4. 런타임 환경을 선택합니다.

    GKE의 경우 Google Kubernetes Engine을 선택하거나 배포할 런타임인 경우 Cloud Run을 선택합니다.

  5. 새 대상에서 이름을 지정하거나 기본값을 유지합니다.

  6. 이 대상의 승인을 요구하려면 출시에 승인 필요 체크박스를 선택합니다.

  7. 대상에 카나리아 배포 전략을 사용하려면 카나리아 사용 설정 체크박스를 선택합니다.

  8. 완료를 클릭합니다.

  9. 대상 추가를 클릭하고 만들려는 각 추가 대상에 대해 다음 단계를 수행합니다.

  10. 대상이 모두 있으면 만들기를 클릭하여 배포 파이프라인 및 대상 리소스를 만듭니다.

배포 파이프라인 및 대상 등록

Google Cloud 콘솔을 사용하여 파이프라인 및 대상을 만든 경우에는 이 작업이 필요하지 않습니다.

Cloud Deploy에 배포 파이프라인을 등록하려면 각 정의 파일마다 gcloud deploy apply를 한 번 실행합니다. 즉, 3개의 파일에 3개의 대상을 정의하면 명령어는 4번(배포 파이프라인당 1회, 각 대상당 1회) 실행합니다.

다음 명령어는 동일한 파일에 정의된 대상에 배포 파이프라인을 등록합니다.

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

이제 출시의 배포와 동일한 프로젝트 및 리전의 모든 배포 파이프라인에서 사용할 수 있는 대상 리소스를 관리할 수 있는 배포 파이프라인이 준비되었습니다.

단일 파일 예시

이 예시의 명령어는 동일한 파일에 모두 정의된 배포 파이프라인과 대상을 등록합니다.

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

개별 파일 사용 예시

이 예시에서는 별도의 파일 3개에 3개의 대상이 정의되어 있으므로 다음 명령어 4개를 실행합니다.

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

(gcloud config set deploy/region [REGION]을 사용하여) 기본값을 설정하지 않는 한 --region 플래그가 필요합니다. 배포 파이프라인과 파이프라인이 참조하는 모든 대상의 리전이 동일해야 합니다.

Terraform을 사용하여 배포 파이프라인 및 대상 만들기

Google Cloud Terraform 제공업체를 사용하여 배포 파이프라인대상 리소스를 만들 수도 있습니다.

Google Cloud 베타 Terraform 제공업체미리보기에 Cloud Deploy 기능을 포함할 수 있습니다.

기존 파이프라인 및 대상 수정

나중에 배포 파이프라인 또는 대상 구성을 수정하고 gcloud deploy apply를 실행하여 파이프라인 또는 대상 리소스를 업데이트할 수 있습니다. 하지만 이러한 변경사항은 원본 배포 파이프라인에서 관리되므로 기존 출시에 영향을 주지 않습니다.

배포에 대한 수동 승인 요청

특정 대상에 수동 승인을 요구하려면 대상 정의에 다음 속성을 포함합니다.

requireApproval: true

기본값은 false입니다. Delivery-pipeline 구성에서 이 속성을 생략하거나 값을 제공하지 않으면 이 대상에 배포할 때 승인을 요구하지 않습니다. (하지만 대상으로 승격하려는 호출자에게는 여전히 clouddeploy.rollouts.create IAM 권한이 필요합니다.)

첫 번째 대상에 대해 수동 승인이 필요할 수도 있습니다. CLI를 사용하여 출시 버전이 생성되면 첫 번째 대상의 rollout이 자동으로 생성됩니다. 승인이 필요한 경우 Cloud Deploy가 rollout을 만들지만 승인이 부여될 때까지 출시 대기 상태로 유지됩니다.

다음 단계