도구 버전 관리

Cloud Deploy는 기본 도구 버전이 포함된 커스텀 이미지를 사용하여 작업을 실행합니다. Cloud Deploy를 사용하면 매니페스트를 렌더링, 배포, 검증하는 작업에 사용할 도구 버전을 지정하여 배포 프로세스를 유연하게 제어할 수 있습니다.

이 페이지에서는 Cloud Deploy 도구 버전이 선택되는 방식과 각 도구 버전의 유지보수 및 지원 시간을 설명합니다.

지원되는 Cloud Deploy 도구 버전

Cloud Deploy를 사용하면 다음 도구의 버전을 선택할 수 있습니다.

Cloud Deploy는 작업에 사용할 수 있는 사용 가능한 도구 버전의 저장소를 제공합니다. 이러한 모든 버전에는 유지보수 및 지원 중단 정책이 적용됩니다.

기본 도구 버전

사용자가 지정한 도구 버전이 제공되지 않으면 출시 생성 중에 기본 도구 버전이 사용됩니다.

이미지가 빌드될 때 사용 가능한 최신 도구 버전이 포함된 새 Cloud Deploy 이미지가 매주 출시됩니다. 도구의 다양한 출시 일정에 따라 새 도구 버전이 기본값이 되는 데 최대 2주가 걸릴 수 있습니다.

다음 명령어를 실행하여 기본 버전을 확인할 수 있습니다.

gcloud deploy get-config \
      --project=PROJECT \
      --region=REGION \
      --format 'yaml(defaultToolVersions)'

고정 도구 버전 관리

모든 도구 버전은 기본적으로 출시 리소스에 저장됩니다. 도구 버전은 출시 생성 시 출시와 연결되며 해당 출시의 전체 수명 주기 동안 사용되며, 전체 기간 동안 변경될 수 없습니다. 출시 버전 수명 주기는 해당 출시 버전의 모든 렌더링, 배포 및 기타 작업으로 구성됩니다. 여기에는 진행의 최종 대상으로의 배포 및 그 이후 단계 (모든 롤백 또는 재배포)까지 포함됩니다. 다음 명령어를 실행하여 출시와 연결된 도구 버전을 확인할 수 있습니다.

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format='yaml(toolVersions)'

도구 버전 관리 기능 이전에 생성된 버전에는 출력에 toolVersions가 나열되지 않습니다. 대신 --format 'yaml(skaffoldVersion)' 플래그를 사용하여 Skaffold 버전을 확인할 수 있습니다.

고정 도구 버전 관리 사용 중지

고정 도구 버전 관리를 사용 중지하고 특정 출시의 최신 도구를 사용하려면 각 도구에 특수 키워드 latest을 지정하면 됩니다. 다음은 모든 도구의 최신 버전을 사용하는 버전을 만드는 예입니다.

gcloud deploy releases create RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --docker-version=latest \
       --helm-version=latest \
       --kpt-version=latest \
       --kubectl-version=latest \
       --kustomize-version=latest \
       --skaffold-version=latest

사용할 특정 도구 버전을 지정하는 방법

지원되는 도구 버전을 사용할 수 있습니다. 사용할 버전을 지정하려면 특정 도구에 적합한 플래그를 포함합니다.

gcloud deploy releases create RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --docker-version=DOCKER_VERSION \
       --helm-version=HELM_VERSION \
       --kpt-version=KPT_VERSION \
       --kubectl-version=KUBECTL_VERSION \
       --kustomize-version=KUSTOMIZE_VERSION \
       --skaffold-version=SKAFFOLD_VERSION

기본 버전을 사용하려는 도구의 경우 해당 버전 플래그를 생략하면 됩니다.

예를 들어 다음 명령어는 Skaffold 2.16.1 및 Helm 3.18.3을 사용합니다.

gcloud deploy releases create release-001 \
                              --delivery-pipeline=PIPELINE_NAME \
                              --skaffold-version=2.16.1 \
                              --helm-version=3.18.3 \
                              --project=PROJECT \
                              --region=REGION

도구 버전 호환성

Cloud Deploy는 도구 버전이 Cloud Deploy 이미지와 호환되는지 확인합니다. 도구 버전 대체 기능을 사용하여 Cloud Deploy 이미지의 도구 버전을 대체하는 경우 호환되는 도구 버전을 선택해야 합니다.

도구 버전 지원 중단 및 유지보수 정책

도구 버전은 가져온 날로부터 12개월 동안 지원되며 60일 유지보수 기간이 포함됩니다. 이 유지보수 기간에 따라 도구 버전에 연결된 출시 버전은 해당 도구 버전이 만료된 후에도 60일 동안 계속 지원됩니다. 이러한 출시 버전으로부터 출시를 계속 만들 수 있지만 유지보수 기간에 있는 도구 버전을 사용하여 출시 버전을 만들 수는 없습니다.

60일 유지보수 기간이 지나면 도구 버전이 더 이상 어떤 작업에서도 지원되지 않습니다. 지원되지 않는 버전을 사용하는 출시 버전에서는 더 이상 출시를 만들 수 없습니다. 하지만 출시 버전과 연결된 모든 데이터가 보존됩니다.

다음 명령어를 실행하여 출시의 유지보수 및 만료일을 확인할 수 있습니다.

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format 'yaml(condition)'

다음 명령어를 실행하여 특정 도구의 유지보수 및 만료일을 확인할 수도 있습니다.

gcloud artifacts versions list \
       --package TOOL_NAME \
       --repository tools \
       --project cd-image-prod \
       --location=REGION

유지보수 및 만료일은 각 버전의 주석으로 제공됩니다.

기존 Skaffold 버전

이전에는 Cloud Deploy에서 지원되는 Skaffold 버전의 특정 목록을 제공했습니다. 이러한 Skaffold 버전은 해당 버전의 Skaffold 및 기타 도구로 빌드된 Cloud Deploy 이미지에 해당합니다. Skaffold 버전은 12개월 동안 지원되고 60일 유지보수 기간이 포함되었습니다.

Cloud Deploy는 Cloud Deploy의 보안 상황을 개선하기 위해 이 모델에서 벗어나고 있습니다. 특정 Skaffold 버전에 해당하는 이미지를 제공할 필요가 없으므로 Cloud Deploy는 취약점을 더 빠르게 해결하고 기본 도구 버전을 더 자주 업데이트할 수 있습니다.

기존 Skaffold 버전은 만료일까지 계속 지원됩니다.

Skaffold 버전 기준 날짜 유지보수 시작 만료
2.16 (출시 노트) 2025년 5월 12일 2026년 5월 14일 2026년 7월 13일
2.14 (출시 노트) 2025년 2월 17일 2026년 2월 25일 2026년 4월 26일

다음 명령어에서 --skaffold-version 플래그를 사용하여 이러한 특정 Skaffold 버전을 사용하는 출시 버전을 계속 만들 수 있습니다.

gcloud deploy releases create RELEASE_NAME \
      --delivery-pipeline=PIPELINE_NAME \
      --skaffold-version=SKAFFOLD_VERSION \
      --project=PROJECT \
      --region=REGION