이 페이지에서는 배포 파이프라인을 만드는 방법과 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 콘솔을 사용하여 출시 버전을 만들 수도 있습니다.)
배포 파이프라인을 만들려면 다음 안내를 따르세요.
- 배포 파이프라인 페이지에서 만들기를 클릭합니다. 
- 이름(또는 기본값 유지)과 설명(선택사항)을 입력합니다. 
- 리전을 선택합니다. 
- 런타임 환경을 선택합니다. - GKE의 경우 Google Kubernetes Engine을 선택하거나 배포할 런타임인 경우 Cloud Run을 선택합니다. 
- 새 대상에서 이름을 지정하거나 기본값을 유지합니다. 
- 이 대상의 승인을 요구하려면 출시에 승인 필요 체크박스를 선택합니다. 
- 대상에 카나리아 배포 전략을 사용하려면 카나리아 사용 설정 체크박스를 선택합니다. 
- 완료를 클릭합니다. 
- 대상 추가를 클릭하고 만들려는 각 추가 대상에 대해 다음 단계를 수행합니다. 
- 대상이 모두 있으면 만들기를 클릭하여 배포 파이프라인 및 대상 리소스를 만듭니다. 
배포 파이프라인 및 대상 등록
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을 만들지만 승인이 부여될 때까지 출시 대기 상태로 유지됩니다.
다음 단계
- 애플리케이션 배포에서 배포 파이프라인을 호출하고 출시 버전을 만드는 방법을 알아봅니다.