개요
Google Cloud Deploy는 정의된 승격 시퀀스에 따라 애플리케이션을 일련의 대상 환경으로 자동 배포하는 관리형 서비스입니다. 업데이트된 애플리케이션을 배포하려면 배포 파이프라인에서 수명 주기를 관리하는 출시 버전을 만들어야 합니다.
이 실습에서는 Google Cloud Deploy를 사용해 배포 파이프라인을 만들어 봅니다. 그런 다음 기본 애플리케이션의 출시 버전을 만들고 일련의 Google Kubernetes Engine(GKE) 대상을 통해 애플리케이션을 승격합니다.
샘플 애플리케이션은 포트를 리슨하고 HTTP 응답 코드를 제공하고 로그 항목을 추가하는 간단한 웹 앱입니다.
목표
이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.
- Skaffold를 사용하여 Google Cloud Artifact Registry에 컨테이너 이미지 배포
- Google Cloud Deploy 배포 파이프라인 만들기
- 배포 파이프라인을 위한 출시 버전 만들기
- 배포 파이프라인의 대상을 통한 애플리케이션 승격
실습 설정
Qwiklabs에 액세스하기
각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.
-
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다.
왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.
-
Google Cloud 콘솔 열기 버튼
- 남은 시간
- 이 실습에 사용해야 하는 임시 사용자 인증 정보
- 필요한 경우 실습 진행을 위한 기타 정보
-
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
-
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
{{{user_0.username | "Username"}}}
실습 세부정보 패널에서도 사용자 이름을 확인할 수 있습니다.
-
다음을 클릭합니다.
-
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
{{{user_0.password | "Password"}}}
실습 세부정보 패널에서도 비밀번호를 확인할 수 있습니다.
-
다음을 클릭합니다.
중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요.
참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
-
이후에 표시되는 페이지를 클릭하여 넘깁니다.
- 이용약관에 동의합니다.
- 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
- 무료 체험판을 신청하지 않습니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
참고: Google Cloud 제품 및 서비스 목록이 있는 메뉴를 보려면 왼쪽 상단의 탐색 메뉴를 클릭하거나 검색창에 제품 또는 서비스 이름을 입력합니다.
초기 로그인 단계를 완료하면 프로젝트 대시보드가 표시됩니다.
Google Cloud Shell 활성화하기
Google Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다.
Google Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.
-
Cloud 콘솔의 오른쪽 상단 툴바에서 'Cloud Shell 열기' 버튼을 클릭합니다.

-
계속을 클릭합니다.
환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다. 연결되면 사용자가 미리 인증되어 프로젝트가 PROJECT_ID로 설정됩니다. 예:

gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.
- 다음 명령어를 사용하여 사용 중인 계정 이름을 나열할 수 있습니다.
gcloud auth list
출력:
Credentialed accounts:
- @.com (active)
출력 예시:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- 다음 명령어를 사용하여 프로젝트 ID를 나열할 수 있습니다.
gcloud config list project
출력:
[core]
project =
출력 예시:
[core]
project = qwiklabs-gcp-44776a13dea667a6
참고:
gcloud 전체 문서는 gcloud CLI 개요 가이드를 참조하세요.
작업 1. GKE 클러스터 3개 만들기
이 작업에서는 배포 파이프라인의 대상으로 사용할 GKE 클러스터 3개를 만듭니다.
생성된 GKE 클러스터 3개는 각각 배포 파이프라인의 다음 3가지 대상을 나타냅니다.
- 여러 명령어에서 사용할 환경 변수를 선언합니다.
export PROJECT_ID=$(gcloud config get-value project)
export REGION={{{ project_0.default_region | "REGION" }}}
gcloud config set compute/region $REGION
- Google Kubernetes Engine API를 사용 설정합니다.
gcloud services enable \
container.googleapis.com \
clouddeploy.googleapis.com
- Cloud Shell에서 kubectl 명령줄 자동 완성을 구성합니다.
source <(kubectl completion bash)
- GKE 클러스터 3개를 만듭니다.
gcloud container clusters create-auto test --async
gcloud container clusters create-auto staging --async
gcloud container clusters create-auto prod --async
참고: --async 플래그를 사용하면 클러스터가 백그라운드에서 프로비저닝되는 동안 사용자가 파이프라인의 다른 요소를 계속 설정할 수 있습니다.
- 클러스터 3개의 상태를 확인합니다.
gcloud container clusters list --format="csv(name,status)"
참고: --async 플래그를 사용하므로 이 명령어로 클러스터 배포 상태를 확인할 수 있습니다.
출력
name,status
prod,PROVISIONING
staging,PROVISIONING
test,RUNNING
클러스터를 만드는 데 몇 분 정도 걸릴 수 있습니다. 클러스터가 준비될 때까지 기다릴 필요는 없습니다. 실습을 계속 진행하세요.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
GKE 클러스터 3개 만들기
작업 2. 웹 애플리케이션 컨테이너 이미지 준비하기
이 작업에서는 Artifact Registry에 웹 애플리케이션의 컨테이너 이미지를 보관할 저장소를 만듭니다.
- Artifact Registry API를 사용 설정합니다.
gcloud services enable artifactregistry.googleapis.com
- 컨테이너 이미지를 보관할 웹 앱 저장소를 만듭니다.
gcloud artifacts repositories create web-app \
--description="Image registry for sample web app" \
--repository-format=docker \
--location=$REGION
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
웹-앱 저장소 만들기
작업 3. 컨테이너 이미지를 빌드하여 Artifact Registry에 배포하기
이 작업에서는 웹 애플리케이션이 포함된 git 저장소를 클론하고 애플리케이션의 컨테이너 이미지를 Artifact Registry에 배포합니다.
애플리케이션 구성 준비
- 실습용 저장소를 홈 디렉터리에 클론합니다.
cd ~/
git clone https://github.com/GoogleCloudPlatform/cloud-deploy-tutorials.git
cd cloud-deploy-tutorials
git checkout c3cae80 --quiet
cd tutorials/base
-
skaffold.yaml
구성을 만듭니다.
envsubst < clouddeploy-config/skaffold.yaml.template > web/skaffold.yaml
cat web/skaffold.yaml
참고: envsubst 명령어는 찾기 및 바꾸기 명령어입니다.
이제 웹 디렉터리에 skaffold.yaml
구성 파일이 포함됩니다. 이 파일은 Skaffold가 애플리케이션의 컨테이너 이미지를 빌드할 수 있도록 안내를 제공합니다. 이 구성은 다음 항목을 설명합니다.
빌드 섹션 구성:
- 빌드될 컨테이너 이미지 2개(아티팩트)
- 이미지 빌드에 사용될 Google Cloud Build 프로젝트
deploy
섹션은 워크로드를 클러스터에 배포하는 데 필요한 Kubernetes 매니페스트를 구성합니다.
portForward
구성은 배포를 위한 Kubernetes 서비스를 정의하는 데 사용됩니다.
출력
apiVersion: skaffold/v2beta7
kind: Config
build:
artifacts:
- image: leeroy-web
context: leeroy-web
- image: leeroy-app
context: leeroy-app
googleCloudBuild:
projectId: {{project-id}}
deploy:
kubectl:
manifests:
- leeroy-web/kubernetes/*
- leeroy-app/kubernetes/*
portForward:
- resourceType: deployment
resourceName: leeroy-web
port: 8080
localPort: 9000
참고: 파일을 확인하려면 Cloud Shell에서 편집기 열기 아이콘을 클릭하여 vi, emacs, nano 또는 Cloud Shell 코드 편집기를 사용하세요.
웹 애플리케이션 빌드
Skaffold 도구는 코드베이스를 Cloud Build에 제출하는 작업을 처리합니다.
- Cloud Build API를 사용 설정합니다.
gcloud services enable cloudbuild.googleapis.com
- skaffold 명령어를 실행하여 애플리케이션을 빌드하고 이전에 만든 Artifact Registry 저장소에 컨테이너 이미지를 배포합니다.
cd web
skaffold build --interactive=false \
--default-repo $REGION-docker.pkg.dev/$PROJECT_ID/web-app \
--file-output artifacts.json
cd ..
- Skaffold 빌드가 완료되면 Artifact Registry에서 컨테이너 이미지를 확인합니다.
gcloud artifacts docker images list \
$REGION-docker.pkg.dev/$PROJECT_ID/web-app \
--include-tags \
--format yaml
--format
yaml 파라미터는 가독성을 위해 출력을 YAML로 반환합니다. 출력은 다음과 같습니다.
출력
---
createTime: '2024-09-11T02:07:54.995807Z'
package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app
tags: '9181623'
updateTime: '2024-09-11T02:07:54.995807Z'
version: sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495
---
createTime: '2024-09-11T02:07:53.629263Z'
package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web
tags: '9181623'
updateTime: '2024-09-11T02:07:53.629263Z'
version: sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9
기본적으로 Skaffold는 이미지 태그를 관련된 git 태그로 설정합니다(사용 가능한 경우). skaffold 명령어로 생성된 artifacts.json
파일에서 비슷한 정보를 찾을 수 있습니다.
Skaffold는 배포된 이미지의 세부정보가 있는 web/artifacts.json
파일을 생성합니다.
cat web/artifacts.json | jq
출력
{
"builds": [
{
"imageName": "leeroy-web",
"tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web:9181623@sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9"
},
{
"imageName": "leeroy-app",
"tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app:9181623@sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495"
}
]
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
컨테이너 이미지를 빌드하여 Artifact Registry에 배포하기
작업 4. 배포 파이프라인 만들기
이 작업에서는 배포 파이프라인을 설정합니다. 이 파이프라인은 앱을 테스트에서 스테이징으로, 스테이징에서 프로덕션으로 승격합니다.
- Google Cloud Deploy API를 사용 설정합니다.
gcloud services enable clouddeploy.googleapis.com
-
delivery-pipeline.yaml
파일을 사용하여 delivery-pipeline 리소스를 만듭니다.
gcloud config set deploy/region $REGION
cp clouddeploy-config/delivery-pipeline.yaml.template clouddeploy-config/delivery-pipeline.yaml
gcloud deploy apply --file=clouddeploy-config/delivery-pipeline.yaml
- 배포 파이프라인이 생성되었는지 확인합니다.
gcloud deploy delivery-pipelines describe web-app
다음 출력과 유사한 배포 파이프라인이 나타납니다.
출력
Unable to get target test
Unable to get target staging
Unable to get target prod
Delivery Pipeline:
createTime: '2024-09-11T14:03:18.294884547Z'
description: web-app delivery pipeline
etag: 2539eacd7f5c256d
name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app
serialPipeline:
stages:
- targetId: test
- targetId: staging
- targetId: prod
uid: eb0601aa03ac4b088d74c6a5f13f36ae
updateTime: '2024-09-11T14:03:18.680753520Z'
Targets: []
출력의 처음 세 줄을 주목하세요. 현재 배포 파이프라인이 아직 생성되지 않은 세 가지 대상 환경을 참조합니다. 다음 작업에서 이러한 대상을 만듭니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
배포 파이프라인 만들기
작업 5. 배포 대상 구성하기
배포 파이프라인 대상 3개가 생성되며, 이는 각각의 GKE 클러스터에 해당합니다.
클러스터가 준비되어 있는지 확인
이제 GKE 클러스터 3개가 실행됩니다. 실제로 실행되는지 확인하는 것이 좋습니다.
gcloud container clusters list --format="csv(name,status)"
아래 출력에 표시된 것처럼 클러스터 3개가 모두 RUNNING 상태여야 합니다. 아직 RUNNING으로 표시되지 않는 경우 상태가 RUNNING으로 변경될 때까지 위 명령어를 다시 실행합니다.
출력
name,status
prod,RUNNING
staging,RUNNING
test,RUNNING
모든 클러스터가 'RUNNING' 상태가 되면 실습을 계속 진행합니다.
각 클러스터의 컨텍스트 만들기
아래 명령어를 사용하여 각 클러스터의 사용자 인증 정보를 가져오고 이후 클러스터를 참조할 수 있도록 사용하기 쉬운 kubectl
컨텍스트를 만듭니다.
CONTEXTS=("test" "staging" "prod")
for CONTEXT in ${CONTEXTS[@]}
do
gcloud container clusters get-credentials ${CONTEXT} --region ${REGION}
kubectl config rename-context gke_${PROJECT_ID}_${REGION}_${CONTEXT} ${CONTEXT}
done
각 클러스터에 네임스페이스 만들기
아래 명령어를 사용하여 3개의 클러스터 각각에 Kubernetes 네임스페이스(웹 앱)를 만듭니다.
for CONTEXT in ${CONTEXTS[@]}
do
kubectl --context ${CONTEXT} apply -f kubernetes-config/web-app-namespace.yaml
done
애플리케이션은 (웹 앱) 네임스페이스로 배포됩니다.
배포 파이프라인 대상 만들기
- 각 대상의 정의를 제출합니다.
for CONTEXT in ${CONTEXTS[@]}
do
envsubst < clouddeploy-config/target-$CONTEXT.yaml.template > clouddeploy-config/target-$CONTEXT.yaml
gcloud deploy apply --file clouddeploy-config/target-$CONTEXT.yaml
done
yaml 파일에 대상의 설명이 제공됩니다. 각 대상은 관련 클러스터 정보를 구성합니다. 테스트 및 스테이징 대상 구성은 대개 동일합니다.
- 테스트 대상의 세부정보를 표시합니다.
cat clouddeploy-config/target-test.yaml
출력
apiVersion: deploy.cloud.google.com/v1beta1
kind: Target
metadata:
name: test
description: test cluster
gke:
cluster: projects/{{project-id}}/locations/us-central1/clusters/test
프로덕션 대상은 약간 다릅니다. 클러스터로 출시 버전을 승격하기 전에 승인이 필요하기 때문입니다(출력의 requireApproval
설정 참조).
- 프로덕션 대상의 세부정보를 표시합니다.
cat clouddeploy-config/target-prod.yaml
출력
apiVersion: deploy.cloud.google.com/v1beta1
kind: Target
metadata:
name: prod
description: prod cluster
requireApproval: true
gke:
cluster: projects/{{project-id}}/locations/us-central1/clusters/prod
- 대상 3개(테스트, 스테이징, 프로덕션)가 만들어졌는지 확인합니다.
gcloud deploy targets list
배포 파이프라인을 위한 모든 Google Cloud Deploy 대상이 생성되었습니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
배포 대상 구성하기
작업 6. 출시 버전 만들기
이 작업에서는 애플리케이션의 출시 버전을 만듭니다.
Google Cloud Deploy 출시 버전은 특정 배포 파이프라인과 연관된 하나 이상의 컨테이너 이미지의 특정 버전입니다. 출시 버전이 생성된 다음에는 여러 대상으로 승격될 수 있습니다(승격 시퀀스). 또한 출시 버전을 만들면 Skaffold를 통해 애플리케이션이 렌더링되고 해당 출시 버전의 기간 동안 사용되는 특정 시점 참조로 출력이 저장됩니다.
애플리케이션의 첫 출시 버전이므로 이름을 web-app-001
로 지정합니다.
- 다음 명령어를 실행하여 출시 버전을 만듭니다.
gcloud deploy releases create web-app-001 \
--delivery-pipeline web-app \
--build-artifacts web/artifacts.json \
--source web/
--build-artifacts
파라미터는 앞서 Skaffold가 만든 artifacts.json
파일을 참조합니다. --source
파라미터는 skaffold.yaml을 찾을 수 있는 애플리케이션 소스 디렉터리를 참조합니다.
또한 출시 버전이 생성되면 승인이 필요하지 않은 한 파이프라인에서 첫 번째 대상으로 자동 출시됩니다. 승인에 대해서는 이 실습의 이후 단계를 참조하세요.
- 테스트 대상에 애플리케이션이 배포되었는지 확인하려면 다음 명령어를 실행합니다.
gcloud deploy rollouts list \
--delivery-pipeline web-app \
--release web-app-001
출력
---
approvalState: DOES_NOT_NEED_APPROVAL
createTime: '2024-09-11T14:05:21.961604Z'
deployEndTime: '2024-09-11T14:06:35.278604Z'
deployStartTime: '2024-09-11T14:06:22.420091744Z'
deployingBuild: projects/{{project-id}}/locations/us-central1/builds/4815b788-ec5e-4185-9141-a5b57c71b001
enqueueTime: '2024-09-11T14:06:21.760830Z'
etag: 5cb7b6c342b5f29b
name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-test-0001
state: SUCCEEDED
targetId: test
uid: cccd9525d3a0414fa60b2771036841d9
출시 버전을 처음 출시할 때는 Google Cloud Deploy에서 출시 버전이 생성되었을 때 모든 대상에 대해 매니페스트를 렌더링하기 때문에 시간이 몇 분 정도 걸립니다. GKE 클러스터에서 배포에 필요한 리소스를 제공하는 데 몇 분 정도 걸릴 수 있습니다.
이전 명령어의 출력에 state: SUCCEEDED
가 표시되지 않으면 잠시 기다린 후 출시가 완료될 때까지 명령어를 주기적으로 다시 실행합니다.
- 다음 명령어를 실행하여 애플리케이션이 테스트 GKE 클러스터에 배포되었는지 확인합니다.
kubectx test
kubectl get all -n web-app
출력
NAME READY STATUS RESTARTS AGE
pod/leeroy-app-5547cf9d9b-rgc2l 1/1 Running 0 3m27s
pod/leeroy-web-6768b49c46-w7vt9 1/1 Running 0 3m27s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/leeroy-app ClusterIP None <none> 50051/TCP 3m28s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/leeroy-app 1/1 1 1 3m28s
deployment.apps/leeroy-web 1/1 1 1 3m28s
NAME DESIRED CURRENT READY AGE
replicaset.apps/leeroy-app-5547cf9d9b 1 1 1 3m28s
replicaset.apps/leeroy-web-6768b49c46 1 1 1 3m28s
참고: kubectx 명령어를 사용하면 컨텍스트 간에 쉽게 전환할 수 있습니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
출시 버전 만들기
작업 7. 애플리케이션을 스테이징으로 승격하기
이 작업에서는 애플리케이션을 테스트에서 스테이징 대상으로 승격합니다.
- 애플리케이션을 스테이징 대상으로 승격합니다.
gcloud deploy releases promote \
--delivery-pipeline web-app \
--release web-app-001
승격을 시작하기 전에 계속 진행하라는 메시지가 표시됩니다.
- Enter 키를 눌러 기본값을 승인합니다(Y = 예).
- 다음 명령어를 실행하여 스테이징 대상에 애플리케이션이 배포되었는지 확인합니다.
gcloud deploy rollouts list \
--delivery-pipeline web-app \
--release web-app-001
출력 검토
targetId: staging
으로 표시된 섹션을 찾습니다. 전과 같이 이전 명령어의 출력에 state: SUCCEEDED
가 표시되지 않으면 잠시 기다린 후 출시가 완료될 때까지 명령어를 주기적으로 다시 실행합니다.
출력
---
approvalState: DOES_NOT_NEED_APPROVAL
createTime: '2024-09-11T02:19:32.539468Z'
deployEndTime: '2024-09-11T02:19:45.970949Z'
deployStartTime: '2024-09-11T02:19:33.111948770Z'
deployingBuild: projects/743805075658/locations/us-central1/builds/2316517c-3a2f-4cd3-80ad-6d133b653746
etag: 1109b802ff586df5
name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-staging-0001
state: SUCCEEDED
targetId: staging
uid: 80a35a5f044844708d2050f8c556e07e
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
애플리케이션을 스테이징으로 승격하기
작업 8. 애플리케이션을 프로덕션으로 승격하기
이 작업에서는 애플리케이션을 다시 승격하면서 승인도 제공합니다.
- 애플리케이션을 프로덕션 대상으로 승격합니다.
gcloud deploy releases promote \
--delivery-pipeline web-app \
--release web-app-001
승격을 시작하기 전에 계속 진행하라는 메시지가 표시됩니다.
- Enter 키를 눌러 기본값을 승인합니다(Y = 예).
- 다음 명령어를 실행하여 프로덕션 대상의 상태를 확인합니다.
gcloud deploy rollouts list \
--delivery-pipeline web-app \
--release web-app-001
출력에서 approvalState
가 NEEDS_APPROVAL
이고, state가 PENDING_APPROVAL
인지 확인합니다.
출력
---
approvalState: NEEDS_APPROVAL
createTime: '2024-09-11T14:12:07.466989Z'
etag: 6e9303e5a1b04084
name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-prod-0001
state: PENDING_APPROVAL
targetId: prod
uid: a5c7d6007fee4d80904d49142581aaa7
- 다음 명령어를 사용해 출시를 승인합니다.
gcloud deploy rollouts approve web-app-001-to-prod-0001 \
--delivery-pipeline web-app \
--release web-app-001
승격을 시작하기 전에 출시를 승인하라는 메시지가 표시됩니다.
- Enter 키를 눌러 기본값을 승인합니다(Y = 예).
- 다음 명령어를 실행하여 프로덕션 대상에 애플리케이션이 배포되었는지 확인합니다.
gcloud deploy rollouts list \
--delivery-pipeline web-app \
--release web-app-001
이전 출시와 마찬가지로 대상에 대한 항목(targetId: prod
)을 찾고 출시가 완료(state: SUCCEEDED
)되었는지 확인합니다. 출시가 완료될 때까지 주기적으로 명령어를 다시 실행합니다.
-
kubectl
을 사용하여 배포된 애플리케이션의 상태를 확인합니다.
kubectx prod
kubectl get all -n web-app
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
애플리케이션을 프로덕션으로 승격하기
수고하셨습니다
이제 Cloud Deploy를 사용하여 지속적 배포 파이프라인을 만들 수 있습니다.
Copyright 2025 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.