--- title: "배포 시나리오 생성 및 관리" slug: "sourcedeploy-use-scenario" tags: ["sourcedeploy"] updated: 2026-08-20T09:03:33Z published: 2026-08-20T09:03:33Z canonical: "guide-gov.ncloud-docs.com/sourcedeploy-use-scenario" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # 배포 시나리오 생성 및 관리

Classic/VPC 환경에서 이용 가능합니다.

배포 시나리오 생성 및 관리에서 배포 타깃별 배포 시나리오를 생성하고 관리하는 방법을 설명합니다. :::(Info) (참고) 배포 시나리오를 생성하고 관리하려면 고객 계정 또는 Change/changeProject 권한을 가진 서브 계정이 필요합니다. 권한 설정 방법은 [Sub Account 사용 가이드](/docs/subaccount-overview)를 참고해 주십시오. ::: 배포 시나리오는 배포 타깃에 따라 생성 방법에 차이가 있습니다. 생성하려는 배포 시나리오의 배포 타깃에 따라 생성 방법을 확인해 주십시오. * [Server 배포 시나리오 생성](#Server배포시나리오생성) * [Auto Scaling 배포 시나리오 생성](#AutoScaling배포시나리오생성) * [Ncloud Kubernetes Service 배포 시나리오 생성](#NcloudKubernetesService배포시나리오생성) * [Object Storage 배포 시나리오 생성](#ObjectStorage배포시나리오생성) ## Server 배포 시나리오 생성 배포 타깃이 Server인 배포 시나리오를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceDeploy** 메뉴를 차례대로 클릭해 주십시오. 2. 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 **Server**인 배포 Stage를 클릭해 주십시오. 3. **[생성]** 버튼을 클릭해 주십시오. 4. 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오. * [1. 기본 설정](#1기본설정) * [2. 배포 전략 설정](#2배포전략설정) * [3. 배포 파일 설정](#3배포파일설정) * [4. 배포 명령어 설정](#4배포명령어설정) * [5. 최종 확인](#5최종확인) ### 1. 기본 설정 배포 시나리오의 이름과 설명을 입력한 후 **[다음]** 버튼을 클릭해 주십시오. ### 2. 배포 전략 설정 배포 전략과 배포 과정을 선택한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_strategy_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_strategy_ko.png) * 배포 전략은 **기본**만 제공되며, 설정된 배포 서버에 대해 배포를 진행합니다. * 배포 과정은 **순차 배포**와 **동시 배포**가 제공됩니다. * **순차 배포**: 설정된 배포 서버에 대해 순차 배포 진행 * **동시 배포**: 설정된 배포 서버에 대해 동시 배포 진행 ### 3. 배포 파일 설정 배포 파일 위치와 빌드 프로젝트를 선택한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_file_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_file_ko.png) * 배포 파일 위치는 **Source Build**, **Object Storage**, **나중에 설정**이 제공됩니다. * **Source Build**를 선택한 경우, 빌드 프로젝트를 선택해 주십시오. 가장 마지막 빌드 결과가 실패이거나 빌드 결과물을 업로드하지 않았을 경우에는 배포가 실행되지 않습니다. * **Object Storage**를 선택한 경우, 보유한 Object Storage 내의 버킷 중에서 배포 파일을 선택해 주십시오. 배포 파일은 .zip로 압축된 파일만 배포할 수 있습니다. * **나중에 설정**을 선택한 경우, 시나리오 배포 시 배포 파일을 설정할 수 있습니다. ### 4. 배포 명령어 설정 ![sourcedeploy-use-scenario_command_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_command_ko%281%29.png) * 명령어는 여러 개를 입력할 수 있으며, 순차적으로 실행됩니다. * **배포 전 실행**: 배포 전 서버에서 실행할 명령어를 설정한 후 **[추가]** 버튼을 클릭해 주십시오. * **실행 계정**: 명령어를 수행할 서버 계정을 입력해 주십시오. * **실행 명령**: 서버에서 실행할 명령어를 입력해 주십시오. * **파일 배포**: 파일을 배포할 경로를 설정한 후 **[추가]** 버튼을 클릭해 주십시오. * **소스 파일 경로**: 배포할 파일의 경로를 입력해 주십시오. * **배포 경로**: 배포할 서버의 전체 경로를 입력해 주십시오. * [3. 배포 파일 설정](#3배포파일설정)에서 배포 파일 위치를 **나중에 설정**으로 선택하거나 SourceBuild의 마지막 빌드 결과물이 없는 경우, **파일 배포**에 **나중에 설정** 또는 **마지막 빌드 결과물 없음**이 표기됩니다. * **배포 후 실행**: 배포 후 서버에서 실행할 명령어를 설정한 후 **[추가]** 버튼을 클릭해 주십시오. * **실행 계정**: 명령어를 수행할 서버 계정을 입력해 주십시오. * **실행 명령**: 서버에서 실행할 명령어를 입력해 주십시오. * 추가한 명령어를 삭제하려면 **[삭제]** 버튼을 클릭해 주십시오. * 배포 실패 시 롤백 기능을 사용하려면 **사용**을 클릭하여 선택해 주십시오. * 롤백 기능을 사용할 경우, 배포 실패 시 자동으로 이전 버전으로 롤백합니다. * 해당 Stage를 기준으로 마지막으로 성공한 배포를 재실행시킴으로써 롤백이 진행됩니다. * 이전에 배포했던 파일이 Object Storage에 존재하지 않거나, 마지막 성공 배포가 없는 경우에는 롤백이 실패합니다. ### 5. 최종 확인 설정한 배포 시나리오 정보를 확인한 후 **[배포 시나리오 생성]** 버튼을 클릭해 주십시오. ## Auto Scaling 배포 시나리오 생성 배포 타깃이 Auto Scaling인 배포 시나리오를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceDeploy** 메뉴를 차례대로 클릭해 주십시오. 2. 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 **Auto Scaling**인 배포 Stage를 선택해 주십시오. 3. **[생성]** 버튼을 클릭해 주십시오. 4. 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오. * [1. 기본 설정](#1기본설정2) * [2. 배포 전략 설정](#2배포전략설정2) * [3. 배포 파일 설정](#3배포파일설정2) * [4. 배포 명령어 설정](#4배포명령어설정2) * [5. 최종 확인](#5최종확인2) ### 1. 기본 설정 배포 시나리오의 이름과 설명을 입력한 후 **[다음]** 버튼을 클릭해 주십시오. ### 2. 배포 전략 설정 배포 전략과 배포 과정을 선택한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_strategy3_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_strategy3_ko.png) * 배포 전략은 **기본**과 **블루/그린**이 제공됩니다. :::(Info) (참고) Classic 환경에서는 **기본**만 제공되며, VPC 환경에서는 **기본**과 **블루/그린**이 모두 제공됩니다. ::: * **기본**: 설정된 Auto Scaling Group 내 서버에 대해 순차적으로 배포 진행 * **블루/그린**: 설정된 Auto Scaling Group을 복사하여 새로운 Auto Scaling Group을 생성하고 해당 그룹에 배포 진행 * 배포가 정상적으로 완료되면 새로운 Auto Scaling Group 내 서버가 Load Balancer Target Group에 연결되고 해당 Group으로 트래픽이 라우팅됩니다. 블루/그린 전략을 통해 배포 중단 시간을 최소화할 수 있습니다. * 배포 과정은 **순차 배포**와 **동시 배포**가 제공됩니다. * **순차 배포**: 설정된 배포 서버에 대해 순차 배포 진행 * **동시 배포**: 설정된 배포 서버에 대해 동시 배포 진행 * 배포 전략을 **블루/그린**으로 선택한 경우, 다음을 설정해 주십시오. * 새로운 Auto Scaling Group에 연결할 Load Balancer Target Group을 선택해 주십시오. * 배포 타깃으로 설정한 Auto Scaling Group에 연결된 Target Group 중에서 선택할 수 있습니다. * **[상태확인]** 버튼을 클릭하면 Target의 헬스 체크 상태를 확인할 수 있습니다. * 블루/그린 배포를 완료한 후 기존 Auto Scaling Group의 삭제 및 반납 여부를 선택해 주십시오. * **유지**: 블루/그린 배포가 완료되어도 기존 Auto Scaling Group이 반납되지 않음 * **삭제 및 반납**: 블루/그린 배포가 완료되면 기존 Auto Scaling Group을 반납하며, 기존 Auto Scaling Group에 속한 서버들도 자동으로 반납 * **기존 Auto Scaling Group**을 **유지**로 선택한 경우, 블루/그린 배포를 완료한 후 기존 Auto Scaling Group 내 서버에 대한 처리 방법을 선택해 주십시오. * **유지**: 블루/그린 배포 완료 후 기존 Auto Scaling Group 내 서버는 반납되지 않고, Load Balancer Target Group에서만 연결이 해제 * **반납**: 블루/그린 배포 완료 후 기존 Auto Scaling Group 내 서버를 자동으로 반납 :::(Info) (참고) Auto Scaling Group에 Cloud Insight 모니터링 이벤트가 설정되었을 경우, 해당 Auto Scaling Group은 반납할 수 없습니다. 따라서 블루/그린 배포에서 기존 Auto Scaling Group에 Cloud Insight 모니터링 이벤트가 설정되었다면, 배포 완료 후 기존 Auto Scaling Group을 자동 반납할 수 없습니다. 기존 Auto Scaling Group이 더 이상 필요하지 않은 경우, 직접 해당 서비스에서 반납해 주십시오. ::: ### 3. 배포 파일 설정 배포 파일 위치와 빌드 프로젝트를 선택한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_file_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_file_ko.png) * 배포 파일 위치는 **Source Build**, **Object Storage**, **나중에 설정**이 제공됩니다. * **Source Build**를 선택한 경우, 빌드 프로젝트를 선택해 주십시오. 가장 마지막 빌드 결과가 실패이거나 빌드 결과물을 업로드하지 않았을 경우에는 배포가 실행되지 않습니다. * **Object Storage**를 선택한 경우, 보유한 Object Storage 내의 버킷 중에서 배포 파일을 선택해 주십시오. 배포 파일은 .zip로 압축된 파일만 배포할 수 있습니다. * **나중에 설정**을 선택한 경우, 시나리오 배포 시 배포 파일을 설정할 수 있습니다. ### 4. 배포 명령어 설정 배포 명령어를 설정한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_command_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_command_ko(1).png) * 명령어는 여러 개를 입력할 수 있으며, 순차적으로 실행됩니다. * **배포 전 실행**: 배포 전 서버에서 실행할 명령어를 설정한 후 **[추가]** 버튼을 클릭해 주십시오. * **실행 계정**: 명령어를 수행할 서버 계정을 입력해 주십시오. * **실행 명령**: 서버에서 실행할 명령어를 입력해 주십시오. * **파일 배포**: 파일을 배포할 경로를 설정한 후 **[추가]** 버튼을 클릭해 주십시오. * **소스 파일 경로**: 배포할 파일의 경로를 입력해 주십시오. * **배포 경로**: 배포할 서버의 전체 경로를 입력해 주십시오. * [3. 배포 파일 설정](#3배포파일설정2)에서 배포 파일 위치를 **나중에 설정**으로 선택하거나 SourceBuild의 마지막 빌드 결과물이 없는 경우, **파일 배포**에 **나중에 설정** 또는 **마지막 빌드 결과물 없음**이 표기됩니다. * **배포 후 실행**: 배포 후 서버에서 실행할 명령어를 설정한 후 **[추가]** 버튼을 클릭해 주십시오. * **실행 계정**: 명령어를 수행할 서버 계정을 입력해 주십시오. * **실행 명령**: 서버에서 실행할 명령어를 입력해 주십시오. * 추가한 명령어를 삭제하려면 **[삭제]** 버튼을 클릭해 주십시오. * 배포 실패 시 롤백 기능을 사용하려면 **사용**을 클릭하여 선택해 주십시오. * 롤백 기능을 사용할 경우, 배포 실패 시 자동으로 이전 버전으로 롤백합니다. * 해당 Stage를 기준으로 마지막으로 성공한 배포를 재실행시킴으로써 롤백이 진행됩니다. * 이전에 배포했던 파일이 Object Storage에 존재하지 않거나, 마지막 성공 배포가 없는 경우에는 롤백이 실패합니다. ### 5. 최종 확인 설정한 배포 시나리오 정보를 확인한 후 **[배포 시나리오 생성]** 버튼을 클릭해 주십시오. ## Ncloud Kubernetes Service 배포 시나리오 생성 :::(Info) (참고) Ncloud Kubernetes Service는 VPC 환경에서만 제공되는 서비스로, 배포 타깃이 Ncloud Kubernetes Service인 배포 시나리오는 VPC 환경에서만 생성할 수 있습니다. ::: 배포 타깃이 Ncloud Kubernetes Service인 배포 시나리오를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceDeploy** 메뉴를 차례대로 클릭해 주십시오. 2. 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 **Ncloud Kubernetes Service**인 배포 Stage를 선택해 주십시오. 3. **[생성]** 버튼을 클릭해 주십시오. 4. 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오. * [1. 기본 설정](#1기본설정3) * [2. 매니페스트 설정](#2매니페스트설정) * [3. 배포 전략 설정](#3배포전략설정) * [4. 최종 확인](#4최종확인) ### 1. 기본 설정 배포 시나리오의 이름과 설명을 입력한 후 **[다음]** 버튼을 클릭해 주십시오. ### 2. 매니페스트 설정 매니페스트 파일이 위치한 리포지토리와 경로를 설정한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_manifest_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_manifest_1_ko.png) * 매니페스트 파일 저장소 유형을 선택한 후 필요한 세부 항목을 설정해 주십시오. * **SourceCommit** 선택 시 다음의 항목을 설정 * **리포지토리**: 매니페스트 파일이 저장된 리포지토리 선택 * **브랜치**: 매니페스트 파일이 저장된 리포지토리의 브랜치 선택 * **Github Enterprise Server** 선택 시 **[로그인]** 버튼을 클릭한 후 다음의 항목을 설정 * 다음 중 하나의 인증 정보를 입력한 후 **[Github Enterprise Server 로그인]** 버튼 클릭 * **OAuth**: 리포지토리를 가져올 **Github Enterprise Server URL**과 해당 서버에서 생성한 OAuth App의 **Client Id, Client Secret** 입력 * **Personal Access Token**: 리포지토리를 가져올 **Github Enterprise Server URL**과 해당 서버에서 생성한 **Personal Access Token** 입력 * **Username / Password**: 리포지토리를 가져올 **Github Enterprise Server URL**과 해당 서버의 **사용자 계정 정보** 입력 * **SSH Key**: SSH 프로토콜 형식의 **Git 리포지토리 URL**과 인증을 위한 **SSH Private Key, Passphrase** 입력 (Passphrase는 SSH Key 에 Passphrase 설정한 경우에 입력해주십시오.) :::(Info) (참고) * 방화벽 설정 등으로 인해 Github Enterprise Server에 통신이 불가한 경우 해당 저장소 유형을 사용할 수 없습니다. * Github Enterprise Server URL 은 IP, Hostname으로 입력 가능하며, public 한 환경이어야 합니다. * SSH Key 로그인은 다른 로그인과 달리 입력한 Git 리포지토리 URL의 리포지토리만 접근 할 수 있습니다. * GitHub Enterprise Server 공식 가이드 * [OAuth APP 생성 가이드](https://docs.github.com/ko/enterprise-server@3.10/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app){target="_blank"} * OAuth App 설정 시 Callback URL은 다음과 같습니다. * KR(VPC) : https://devtools.gov-ncloud.com/ghes/vpc/sourcedeploy * [Personal Access Token 생성 가이드](https://docs.github.com/en/enterprise-server@3.10/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens){target="_blank"} * [SSH key 설정 가이드](https://docs.github.com/ko/enterprise-server@3.10/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account){target="_blank"} ::: * **소유자**: 매니페스트 파일이 저장된 리포지토리의 소유자 선택 * **리포지토리**: 매니페스트 파일이 저장된 리포지토리 선택 * **브랜치**: 매니페스트 파일이 저장된 리포지토리의 브랜치 선택 * 배포할 매니페스트 파일의 경로를 입력한 후 **[추가]** 버튼을 클릭해 주십시오. * 추가한 경로는 **[삭제]** 버튼을 클릭하여 삭제할 수 있습니다. :::(Info) (참고) * Ncloud Kubernetes Service의 클러스터에 오브젝트를 배포하려면 매니페스트를 작성해야 하며, 배포에 사용할 매니페스트는 SourceCommit 리포지토리에 저장이 되어있어야 합니다. * 매니페스트 파일 작성 순서대로 배포를 진행합니다. * 블루/그린, Canary 업데이트를 위한 새로운 매니페스트를 작성할 필요가 없습니다. 블루/그린, Canary에 필요한 새로운 오브젝트는 SourceDeploy에서 자동으로 배포합니다. * 매니페스트 작성은 다음 예시를 참고해 주십시오.
<예시> 기존 배포된 Kubernetes 오브젝트 (kind: Deployment, name: sampleapp, namespace: dev) ![sourcedeploy-use-scenario_manifest](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_manifest.png) ```YAML apiVersion: apps/v1 kind: Deployment metadata: name: sampleapp namespace: dev spec: replicas: 1 selector: matchLabels: app: test template: metadata: labels: app: test spec: containers: - image: '${registry_endpoint}/nodejs_dockerbuild:latest' imagePullPolicy: Always name: sampleapp ports: - containerPort: 3000 imagePullSecrets: - name: pub ``` ::: ### 3. 배포 전략 설정 배포 전략을 선택한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_strategy2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_strategy2_ko.png) * **Rolling**: 기존 배포되어 있는 오브젝트가 없는 경우, 새로운 오브젝트 배포 * 오브젝트 업데이트가 아닌 새로운 오브젝트를 배포하는 경우, **Rolling**을 선택해 주십시오. * **블루/그린**/**Canary**: 기존 배포되어 있는 오브젝트가 없는 경우, 배포 실패 * 블루/그린, Canary 배포 전략으로 새로운 오브젝트를 배포할 수 없습니다. * 블루/그린 전략으로 배포 시 새로운 버전(Green)의 오브젝트가 배포되기 때문에 오브젝트의 이름이 변경됩니다. 오브젝트 이름이 변경되더라도 매니페스트를 수정하지 않고 SourceDeploy를 통해 지속적으로 배포할 수 있습니다. 단, 해당 매니페스트를 이용하여 kubectl apply 등을 통해 수동으로 배포하여 기존 이름의 오브젝트가 생성될 경우, 업데이트할 오브젝트를 특정할 수 없기 때문에 SourceDeploy를 통한 지속적 배포가 불가능하게 됩니다. * 배포 전략을 **Canary**로 선택한 경우, 분석 방법에 따라 [Canary 수동 분석 설정](#Canary수동분석설정), [Canary 자동 분석 설정](#Canary자동분석설정)을 참고해 주십시오. #### Canary 수동 분석 설정 ![sourcedeploy-use-scenario_canary_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_canary_ko.png) * **Baseline, Canary Pod 개수**: Baseline, Canary 버전의 애플리케이션에 적용할 Replicas 수를 입력해 주십시오. * 1~10까지 설정할 수 있습니다. * **Canary 분석 방법**: **수동**으로 선택해 주십시오. * Baseline, Canary 버전의 애플리케이션을 사용자가 수동으로 분석하여, 배포 승인/취소 여부를 결정합니다. * **Time Out**: 사용자가 Canary 배포/취소를 결정할 수 있는 최대 시간을 입력해 주십시오. * 1~360분까지 설정할 수 있습니다. * 설정된 시간이 초과되면 자동으로 배포가 취소되며 Baseline, Canary 애플리케이션이 종료됩니다. #### Canary 자동 분석 설정 ![sourcedeploy-use-scenario_canary2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_canary2_ko.png) * **Baseline, Canary Pod 개수**: Baseline, Canary 버전의 애플리케이션에 적용할 Replicas 수를 입력해 주십시오. * 1~10까지 설정할 수 있습니다. * **Canary 분석 방법**을 **자동**으로 선택해 주십시오. * Baseline, Canary 버전의 애플리케이션을 자동으로 분석하여, 분석 결과에 따라 배포를 진행합니다. * **Prometheus Url**: Prometheus 수집 로그 요청을 위한 Prometheus 엔드포인트를 입력해 주십시오. * 애플리케이션을 자동으로 분석하려면 Ncloud Kubernetes Service의 클러스터에 Prometheus가 설치되어있어야 합니다. * 엔드포인트는 SourceDeploy에서 접근할 수 있도록 공인 IP로 설정해 주십시오. * Prometheus Service를 Load Balancer type으로 설정해 주십시오. * **분석 환경변수**: Prometheus 분석 시 Baseline과 Canary를 구분하기 위한 변수를 입력해 주십시오. * 해당 입력값은 PromQL 구문에서 `${basecanary}`로 활용할 수 있습니다. * 분석 환경 변수는 Baseline, Canary 각각 Pod Label의 `ncp_sourcedeploy_canary="baselineenv"`/`ncp_sourcedeploy_canary="canaryenv"`으로 설정되며, 해당 값을 Canary 분석 시 활용할 수 있습니다. * 평가 대상이 될 Metric을 생성한 후 선택해 주십시오. * Metric 생성에 대한 내용은 [Metric 생성](#Metric생성)을 참고해 주십시오. * Metric 설정을 변경하려면 설정을 변경할 Metric을 선택한 후 **[설정 변경]** 버튼을 클릭해 주십시오. 각 항목에 대한 자세한 내용은 [Metric 생성](#Metric생성)을 참고해 주십시오. * Metric을 삭제하려면 삭제할 Metric을 선택한 후 **[삭제]** 버튼을 클릭해 주십시오. * 모든 Metric Weight의 총합은 100이 되어야 합니다. * 분석 설정을 해주십시오. * **분석 지연 시간**: Baseline, Canary 버전 애플리케이션 배포 후 분석을 시작할 시간을 입력해 주십시오. * 입력한 시간 이후 분석을 시작하며, 0~60분까지 설정할 수 있습니다. * **분석 시간**: 분석을 수행할 총시간을 입력해 주십시오. * 10~360분까지 설정할 수 있습니다. * **분석 주기**: 분석을 수행할 주기를 입력해 주십시오. * 1~360분까지 설정할 수 있으며, 분석 시간을 초과할 수 없습니다. * **Metric 수집 주기**: 분석 시 수집된 Metric 값을 샘플링할 주기를 입력해 주십시오. * 1~360초까지 설정할 수 있습니다. * **분석 성공 점수**: 분석 시 모든 Metric에 대한 분석 점수를 입력해 주십시오. * 1~100까지 설정할 수 있습니다. * 분석 단계마다 해당 점수를 만족해야 배포가 진행됩니다. * 분석 단계에서 해당 점수를 만족하지 못할 경우, 분석이 바로 중지되며 Baseline, Canary 버전의 애플리케이션이 종료됩니다. * 등록된 모든 Metric 점수의 합산입니다. * Metric 점수에 대한 자세한 내용은 [Metric 생성](#Metric생성)을 참고해 주십시오. #### Metric 생성 [3. 배포 전략 설정](#3배포전략설정) 단계에서 배포 전략을 **Canary**로 선택하고 분석 방법을 **자동**으로 선택한 경우, Metric을 생성하는 방법은 다음과 같습니다. 1. **Metric 설정**에서 **[생성]** 버튼을 클릭해 주십시오. 2. Metric 생성 팝업 창에서 Metric 정보를 입력해 주십시오. ![sourcedeploy-use-scenario_metric_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_metric_ko.png) * Metric 이름을 입력해 주십시오. * **성공 기준**을 선택해 주십시오. * 등록된 쿼리의 질의 결과에 대한 성공 기준이며, 성공 또는 실패로 분석됩니다. * 질의 결과는 n개가 나올 수 있으며, 각 질의 결과마다 성공/실패가 결정됩니다. * 등록된 Metric 점수는 (성공한 질의 결과/전체 질의 결과) 가중치로 계산됩니다. * **Baseline < Canary**: Baseline 버전의 값이 Canary 버전의 값보다 큰 경우 성공(편차의 값이 음수이거나 동일한 경우 성공) * **Baseline > Canary**: Canary 버전의 값이 Baseline 버전의 값보다 큰 경우 성공(편차의 값이 양수이거나 동일한 경우 성공) * **쿼리 타입**을 선택해 주십시오. * **Default**: Label selector만을 활용할 때 사용 * **Metric**: [Canary 자동 분석 설정](#Canary자동분석설정) 시 입력한 Prometheus Url의 설정된 Metric을 선택해 주십시오. * **Filter**: 원하는 라벨 조건들을 입력해 주십시오. <예시> ```Text kubernetes_namespace="dev" , ncp_sourcedeploy_canary="${basecanary}" ``` * **Filter**의 `${basecanary}`는 Baseline과 Canary의 비교 분석을 위해 예약어로 제공하며, 쿼리에 해당 예약어를 사용하여 분석 시 분석 환경 변수값으로 치환되어 질의합니다. <예시> Metric: requests_total
Filter: ncp_sourcedeploy_canary=${basecanary}
Canary: canaryenv, Baseline: baselineenv([Canary 자동 분석 설정](#Canary자동분석설정)의 **분석 환경변수** 참고) Baseline 버전 쿼리 `requests_total{ncp_sourcedeploy_canary="baselineenv"}` Canary 버전 쿼리 `requests_total{ncp_sourcedeploy_canary="canaryenv"}` * **PromQL**: 사용자가 **쿼리**에 직접 PromQL을 입력하여 사용 <예시> 웹 애플리케이션 requests 성공률 PromQL ```Text sum(requests_total{kubernetes_namespace="dev",custom_status="good", ncp_sourcedeploy_canary="${basecanary}"})/sum(requests_total{kubernetes_namespace="dev", ncp_sourcedeploy_canary="${basecanary}"}) ``` * **Weight**: 해당 Metric의 가중치를 입력해 주십시오. * 1~100까지 설정할 수 있습니다. ### 4. 최종 확인 설정한 배포 시나리오 정보를 확인한 후 **[배포 시나리오 생성]** 버튼을 클릭해 주십시오. ### CI/CD 환경 구축 SourceDeploy를 사용하여 Ncloud Kubernetes Service의 클러스터에 지속적 배포를 구성하기 위해 CI/CD 환경을 구축할 수 있습니다. CI/CD 환경을 구축하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Containers** > **Container Registry** 메뉴를 차례대로 클릭해 주십시오. 2. **[레지스트리 생성]** 버튼을 클릭하여 레지스트리를 생성해 주십시오. * 레지스트리 생성에 관한 자세한 방법은 [Container Registry 사용 가이드](/docs/container-ncr-1-1)를 참고해 주십시오. 3. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceBuild** 메뉴를 차례대로 클릭해 주십시오. 4. **[빌드 프로젝트 생성]** 버튼을 클릭하여 빌드 프로젝트를 생성해 주십시오. * 빌드 프로젝트 생성에 관한 자세한 방법은 [SourceBuild 사용 가이드](/docs/devtools-sourcebuild-buildoverview)를 참고해 주십시오. * 도커 이미지 빌드 기능을 사용하여 도커 이미지를 빌드하고 Container Registry에 저장할 수 있습니다. * 빌드 환경 설정 단계에서 **도커 이미지 빌드**를 클릭하여 선택한 후 빌드 명령어 설정 단계에서 **도커 이미지 빌드 설정**을 **사용**으로 설정해 주십시오. * **이미지 태그**는 **latest로 설정**을 클릭하여 선택해 주십시오. * SourceDeploy에서 자동으로 latest 태그를 digest 형태로 변경하여 배포를 시도하기 때문에 이미지 설정이 변경되지 않더라도 정상적으로 지속적 배포를 수행할 수 있습니다. * 이미지 버전 관리와 함께 사용하여 항상 latest 이미지를 빌드할 수 있습니다. 5. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceDeploy** 메뉴를 차례대로 클릭해 주십시오. 6. **[배포 프로젝트 생성]** 버튼을 클릭하여 배포 타깃이 Ncloud Kubernetes Service인 배포 프로젝트를 생성해 주십시오. * 배포 프로젝트 생성에 관한 자세한 방법은 [배포 프로젝트 생성](/docs/devtools-sourcedeploy-deployconsole#배포프로젝트생성)을 참고해 주십시오. 7. [Ncloud Kubernetes Service 배포 시나리오 생성](#Ncloud KubernetesService배포시나리오생성)을 참고하여 배포 시나리오를 생성해 주십시오. 8. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourcePipeline** 메뉴를 차례대로 클릭해 주십시오. 9. **[파이프라인 생성]** 버튼을 클릭하여 파이프라인을 생성해 주십시오. * 파이프라인 생성에 관한 자세한 방법은 [SourcePipeline 사용 가이드](/docs/devtools-sourcepipeline-pipelineoverview)를 참고해 주십시오. * 도커 이미지 빌드가 설정된 SourceBuild 프로젝트와 Ncloud Kubernetes Service 배포가 설정된 SourceDeploy 프로젝트를 파이프라인으로 구성하여 CI/CD 환경을 구축할 수 있습니다. * **Trigger 설정**을 클릭하여 선택하면 SourceCommit에 푸시함과 동시에 도커 이미지, Ncloud Kubernetes Service의 클러스터에 새로운 오브젝트를 배포하여 서비스를 운영할 수 있습니다. :::(Info) (참고) SourceDeploy를 사용하여 Ncloud Kubernetes Service의 클러스터에 지속적 배포를 구성하려면 배포 이미지가 Container Registry에 저장되어 있어야 합니다. ::: ## Object Storage 배포 시나리오 생성 배포 타깃이 Object Storage인 배포 시나리오를 생성하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceDeploy** 메뉴를 차례대로 클릭해 주십시오. 2. 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 **Object Storage**인 배포 Stage를 선택해 주십시오. 3. **[생성]** 버튼을 클릭해 주십시오. 4. 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오. * [1. 기본 설정](#1기본설정4) * [2. 배포 파일 설정](#2배포파일설정) * [3. 배포 경로 설정](#3배포경로설정) * [4. 최종 확인](#4최종확인2) ### 1. 기본 설정 배포 시나리오의 이름과 설명을 입력한 후 **[다음]** 버튼을 클릭해 주십시오. ### 2. 배포 파일 설정 배포 파일 위치와 빌드 프로젝트를 선택한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_file2_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_file2_ko.png) * 배포 파일 위치는 **Source Build**, **Object Storage**, **나중에 설정**이 제공됩니다. * **Source Build**를 선택한 경우, 빌드 프로젝트를 선택해 주십시오. 가장 마지막 빌드 결과가 실패이거나 빌드 결과물을 업로드하지 않았을 경우에는 배포가 실행되지 않습니다. * **Object Storage**를 선택한 경우, 보유한 Object Storage 내의 버킷 중에서 배포 파일을 선택해 주십시오. 배포 파일은 .zip로 압축된 파일만 배포할 수 있습니다. * **나중에 설정**을 선택한 경우, 시나리오 배포 시 배포 파일을 설정할 수 있습니다. ### 3. 배포 경로 설정 파일의 배포 경로를 설정한 후 **[다음]** 버튼을 클릭해 주십시오. ![sourcedeploy-use-scenario_route_ko](https://cdn.document360.io/f2d93c92-8957-408f-94df-b9b370f76a32/Images/Documentation/sourcedeploy-use-scenario_route_ko%281%29.png) * **소스 파일 경로**와 **배포 경로**를 입력한 후 **[추가]** 버튼을 클릭해 주십시오. * 경로는 여러 개를 입력하여 추가할 수 있습니다. * **소스 파일 경로**: 배포할 파일의 경로를 입력해 주십시오. * **배포 경로**: 배포할 버킷의 경로를 입력해 주십시오. * 잠금 처리한 버킷일 경우, 이미 업로드한 파일이 잠기므로 동일한 파일명(배포 경로)으로 작성 시 정상 배포되지 않습니다. * [2. 배포 파일 설정](#2배포파일설정)에서 배포 파일 위치를 **나중에 설정**으로 선택하거나 SourceBuild의 마지막 빌드 결과물이 없는 경우, **나중에 설정** 또는 **마지막 빌드 결과물 없음**이 표기됩니다. * 추가한 경로를 삭제하려면 **[삭제]** 버튼을 클릭해 주십시오. * 설정한 배포 경로에 있는 파일 백업 기능을 사용하려면 사용을 클릭하여 선택해 주십시오. * 백업 기능을 사용 할 경우, 설정한 배포 경로에 있는 모든 파일을 백업 합니다. ### 4. 최종 확인 설정한 배포 시나리오 정보를 확인한 후 **[배포 시나리오 생성]** 버튼을 클릭해 주십시오. ## 배포 시나리오 설정 변경 배포 시나리오의 설정을 변경하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceDeploy** 메뉴를 차례대로 클릭해 주십시오. 2. 시나리오 설정을 변경할 배포 프로젝트와 배포 Stage를 차례대로 클릭해 주십시오. 3. 설정을 변경할 시나리오를 선택한 후 **[설정 변경]** 버튼을 클릭해 주십시오. 4. 배포 시나리오 설정 팝업 창에서 변경할 내용을 적용한 후 **[적용]** 버튼을 클릭해 주십시오. * 배포 시나리오 생성 시 설정한 시나리오 이름을 제외한 나머지 항목을 모두 변경할 수 있습니다. * 각 항목에 관한 자세한 내용은 배포 타깃별로 다음을 참고해 주십시오. * [Server 배포 시나리오 생성](#Server배포시나리오생성) * [Auto Scaling 배포 시나리오 생성](#AutoScaling배포시나리오생성) * [Ncloud Kubernetes Service 배포 시나리오 생성](#NcloudKubernetesService배포시나리오생성) * [Object Storage 배포 시나리오 생성](#ObjectStorage배포시나리오생성) ## 배포 시나리오 삭제 배포 시나리오를 삭제하는 방법은 다음과 같습니다. 1. 네이버 클라우드 플랫폼 콘솔에서 **Menu** > **All Services** > **Developer Tools** > **SourceDeploy** 메뉴를 차례대로 클릭해 주십시오. 2. 시나리오 삭제할 배포 프로젝트와 배포 Stage를 클릭해 주십시오. 3. 삭제할 시나리오를 선택한 후 **[삭제]** 버튼을 클릭해 주십시오. 4. 배포 시나리오 삭제 팝업 창에서 **[삭제]** 버튼을 클릭해 주십시오. * 해당 배포 시나리오가 삭제됩니다.