이 문서에서는 커스텀 Cloud Deploy 대상 유형을 만들고 Cloud Build 배포 파이프라인에서 해당 커스텀 대상 유형을 대상으로 사용하는 방법을 설명합니다.
다음은 커스텀 대상 유형을 만들고 배포 파이프라인에 사용하기 위한 대략적인 프로세스입니다.
커스텀 대상에 배포할 기능이 포함되고 커스텀 대상 유형에 대한 Cloud Deploy 요구사항을 충족하는 컨테이너화된 애플리케이션이나 애플리케이션을 만듭니다.
컨테이너를 참조하고 실행할 명령어를 지정하는 작업이 포함된
CustomTargetType정의를 만듭니다.새 커스텀 대상 유형을 식별하는
customTarget속성을 사용하여 새 대상을 정의합니다.
이 문서의 나머지 부분에서 이러한 각 단계를 자세히 설명합니다.
컨테이너화된 애플리케이션 만들기
커스텀 대상에 배포하는 기능은 컨테이너화된 애플리케이션에서 정의되며 CustomTargetType 정의에서 Cloud Deploy에 제공합니다. 배포 파이프라인에 커스텀 대상 유형을 사용하는 대상이 포함되면 Cloud Deploy는 커스텀 대상 유형에 정의된 컨테이너를 호출하여 정의한 커스텀 렌더링 및 배포를 실행합니다.
개발자가 애플리케이션 동작을 결정합니다. 그러나 Cloud Deploy에서 제공하는 입력 환경 변수를 사용해야 하며 필수 출력을 반환해야 합니다.
대부분의 경우 생성된 커스텀 대상 유형마다 커스텀 렌더링용 컨테이너 하나와 커스텀 배포용 컨테이너 하나를 만듭니다. 커스텀 렌더링은 선택사항이지만 기본 제공 렌더러로 렌더링되면 커스텀 대상이 올바르게 작동하지 않는 한 커스텀 렌더링을 만들어야 합니다.
Cloud Deploy는 기본적으로 skaffold render를 사용하여 매니페스트를 렌더링합니다.
커스텀 대상 유형 정의
먼저 CustomTargetType 구성을 사용하여 커스텀 대상 유형을 만들어 커스텀 대상을 정의합니다.
배포 파이프라인 정의와 동일한 파일에서 또는 대상 정의를 사용하여 또는 별도의 파일에서 CustomTargetType을 만들 수 있습니다.
CustomTargetType 정의는 다음과 같습니다.
apiVersion: deploy.cloud.google.com/v1
kind: CustomTargetType
metadata:
name: [CUSTOM_TARGET_TYPE_NAME]
annotations:
labels:
description:
tasks:
render: [RENDER_TASK]
deploy: [DEPLOY_TASK]
장소
CUSTOM_TARGET_TYPE_NAME이 커스텀 대상 유형 정의에 지정하는 임의의 이름입니다. 이 이름은 정의하는 커스텀 대상 유형을 사용하는 모든 대상의 대상 정의에서 참조됩니다.
RENDER_TASK맞춤 렌더링을 정의하는 작업입니다. 제공되지 않으면 Cloud Deploy는 Skaffold 구성에 지정된 기본 렌더러를 사용합니다.
DEPLOY_TASK
커스텀 대상 유형 등록
CustomTargetType을 구성한 후 gcloud deploy apply 명령어를 실행하여 Google Cloud 프로젝트에 CustomTargetType 리소스를 등록합니다.
gcloud deploy apply --file=[FILE] --project=[PROJECT] --region=[REGION]
각 항목의 의미는 다음과 같습니다.
FILE은 이 커스텀 대상 유형을 정의한 파일의 이름입니다.
PROJECT은 이 리소스를 만들 Google Cloud 프로젝트입니다.
CustomTargetType은 이를 참조하는 Target 리소스와 동일한 프로젝트에 있어야 합니다. 프로젝트를 Google Cloud CLI의 기본 프로젝트로 설정한 경우에는 프로젝트를 지정하지 않아도 됩니다.
REGION은 이 리소스를 만들 리전(예: us-central1)입니다. CustomTargetType은 이를 참조하는 Target 리소스와 동일한 리전에 있어야 합니다. 리전을 gcloud CLI의 기본 리전으로 설정한 경우에는 리전을 지정하지 않아도 됩니다.
CustomTargetType이 Cloud Deploy 리소스로 생성되었으므로 이제 Target 정의에서 이를 사용하여 커스텀 대상을 만들 수 있습니다.
CustomTargetType 정의에 대한 자세한 내용은 Cloud Deploy 구성 스키마 참조를 확인하세요.
대상 정의
지원되는 대상 유형의 대상 정의와 커스텀 대상 정의 간의 유일한 차이점은 커스텀 대상 정의에 customTarget 스탠자가 포함되어 있다는 점입니다. customTarget 구문은 다음과 같습니다.
customTarget:
customTargetType: [CUSTOM_TARGET_TYPE_NAME]
여기서 CUSTOM_TARGET_TYPE_NAME은 커스텀 대상 유형 구성에 정의된 name 속성의 값입니다.
배포 파이프라인에 대상 추가
지원되는 대상 유형을 사용할 때와 마찬가지로 배포파이프라인에서 커스텀 대상을 사용할 수 있습니다. 즉, 지원되는 대상 유형의 대상과 커스텀 대상 간 배포 파이프라인 진행에는 차이가 없습니다.
배포 파이프라인의 모든 대상은 같은 대상 유형을 사용해야 합니다. 예를 들어 배포 파이프라인에는 Google Kubernetes Engine에 배포되는 일부 대상과 일부 커스텀 대상이 있을 수 없습니다.
지원되는 대상 유형과 마찬가지로 파이프라인 단계에 배포 매개변수를 포함할 수 있습니다.
출시 버전 만들기
커스텀 대상 유형이 완전히 정의되고 해당 유형을 사용하도록 생성된 대상이 있으면 일반적인 방법으로 출시 버전을 만들 수 있습니다.
gcloud deploy releases create [RELEASE_NAME] \
--project=[PROJECT_NAME] \
--region=[REGION] \
--delivery-pipeline=[PIPELINE_NAME]
출시 버전을 만들 때 출시 버전, 대상 또는 배포 파이프라인에 구성된 배포 매개변수 처리를 포함하여 배포 파이프라인의 대상마다 커스텀 렌더링이 실행됩니다. Cloud Deploy는 커스텀 렌더링 컨테이너에 배포 매개변수를 입력으로 제공합니다.
커스텀 대상 출력 보기
커스텀 렌더링 작업이 커스텀 대상의 요구사항을 충족하면 Google Cloud 콘솔을 사용하여 렌더링된 아티팩트를 볼 수 있습니다.
커스텀 렌더링 작업의 출력을 보려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Cloud Deploy 배포 파이프라인 페이지로 이동하여 배포 파이프라인을 확인합니다.
배포 파이프라인 이름을 클릭합니다.
파이프라인 시각화에 앱 배포 상태가 표시되며 출시 버전은 배포 파이프라인 세부정보의 출시 탭에 나열됩니다.
출시 이름을 클릭합니다.
출시 세부정보 페이지가 표시됩니다.
아티팩트 탭을 클릭합니다.
대상 아티팩트에서 아티팩트 보기 옆에 있는 화살표를 클릭합니다.
커스텀 렌더기에서 생성한 렌더링된 Skaffold 구성 파일 및 렌더링된 매니페스트 파일 등 렌더링된 아티팩트가 나열됩니다. 각 아티팩트 옆에 있는 스토리지 위치 링크를 클릭하면 Cloud Storage 버킷으로 이동하여 해당 파일을 볼 수 있습니다.
또한 아티팩트 보기 링크를 클릭하면 출시 버전 검사기를 사용하여 출시 버전, 대상 또는 단계별로 이러한 파일을 볼 수 있습니다.
다음 단계
사용 가능한 샘플 커스텀 대상 유형 확인하기
Tasks 자세히 알아보기
Cloud Deploy 대상 구성 자세히 알아보기