- 인쇄
- PDF
배포 시나리오 생성 및 관리
- 인쇄
- PDF
배포 시나리오 생성 및 관리에서 배포 타깃별 배포 시나리오를 생성하고 관리하는 방법을 설명합니다.
배포 시나리오를 생성하고 관리하려면 고객 계정 또는 changeProject 권한을 가진 서브 계정이 필요합니다. 권한 설정 방법은 Sub Account 사용 가이드를 참고해 주십시오.
배포 시나리오는 배포 타깃에 따라 생성 방법에 차이가 있습니다.
생성하려는 배포 시나리오의 배포 타깃에 따라 생성 방법을 확인해 주십시오.
- Server 배포 시나리오 생성
- Auto Scaling 배포 시나리오 생성
- Ncloud Kubernetes Service 배포 시나리오 생성
- Object Storage 배포 시나리오 생성
Server 배포 시나리오 생성
배포 타깃이 Server인 배포 시나리오를 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에 접속해 주십시오.
- Services > Developer Tools > SourceDeploy 메뉴를 차례대로 클릭해 주십시오.
- 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 Server인 배포 Stage를 클릭해 주십시오.
- [생성] 버튼을 클릭해 주십시오.
- 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오.
1. 기본 설정
배포 시나리오의 이름과 설명을 입력한 후 [다음] 버튼을 클릭해 주십시오.
2. 배포 전략 설정
배포 전략과 배포 과정을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 배포 전략은 기본만 제공되며, 설정된 배포 서버에 대해 배포를 진행합니다.
- 배포 과정은 순차 배포와 동시 배포가 제공됩니다.
- 순차 배포: 설정된 배포 서버에 대해 순차 배포 진행
- 동시 배포: 설정된 배포 서버에 대해 동시 배포 진행
3. 배포 파일 설정
배포 파일 위치와 빌드 프로젝트를 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 배포 파일 위치는 Source Build, Object Storage, 나중에 설정이 제공됩니다.
- Source Build를 선택한 경우 빌드 프로젝트를 선택해 주십시오. 가장 마지막 빌드 결과가 실패이거나 빌드 결과물을 업로드하지 않았을 경우에는 배포가 실행되지 않습니다.
- Object Storage를 선택한 경우 보유한 Object Storage 내의 버킷 중에서 배포 파일을 선택해 주십시오. 배포 파일은 .zip로 압축된 파일만 배포할 수 있습니다.
- 나중에 설정을 선택한 경우 시나리오 배포 시 배포 파일을 설정할 수 있습니다.
4. 배포 명령어 설정
- 명령어는 여러 개를 입력할 수 있으며 순차적으로 실행됩니다.
- 배포 전 실행: 배포 전 서버에서 실행할 명령어를 설정한 후 [추가] 버튼을 클릭해 주십시오.
- 실행 계정: 명령어를 수행할 서버 계정을 입력해 주십시오.
- 실행 명령: 서버에서 실행할 명령어를 입력해 주십시오.
- 파일 배포: 파일을 배포할 경로를 설정한 후 [추가] 버튼을 클릭해 주십시오.
- 소스 파일 경로: 배포할 파일의 경로를 입력해 주십시오.
- 배포 경로: 배포할 서버의 전체 경로를 입력해 주십시오.
- 3. 배포 파일 설정에서 배포 파일 위치를 나중에 설정으로 선택하거나 SourceBuild의 마지막 빌드 결과물이 없는 경우, 파일 배포에 나중에 설정 또는 마지막 빌드 결과물 없음이 표기됩니다.
- 배포 후 실행: 배포 후 서버에서 실행할 명령어를 설정한 후 [추가] 버튼을 클릭해 주십시오.
- 실행 계정: 명령어를 수행할 서버 계정을 입력해 주십시오.
- 실행 명령: 서버에서 실행할 명령어를 입력해 주십시오.
- 추가한 명령어를 삭제하려면 [삭제] 버튼을 클릭해 주십시오.
- 배포 실패 시 롤백 기능을 사용하려면 사용을 클릭하여 선택해 주십시오.
- 롤백 기능을 사용할 경우 배포 실패 시 자동으로 이전 버전으로 롤백합니다.
- 해당 Stage를 기준으로 마지막으로 성공한 배포를 재실행시킴으로써 롤백이 진행됩니다.
- 이전에 배포했던 파일이 Object Storage에 존재하지 않거나 마지막 성공 배포가 없는 경우에는 롤백이 실패합니다.
5. 최종 확인
설정한 배포 시나리오 정보를 확인한 후 [배포 시나리오 생성] 버튼을 클릭해 주십시오.
Auto Scaling 배포 시나리오 생성
배포 타깃이 Auto Scaling인 배포 시나리오를 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에 접속해 주십시오.
- Services > Developer Tools > SourceDeploy 메뉴를 차례대로 클릭해 주십시오.
- 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 Auto Scaling인 배포 Stage를 선택해 주십시오.
- [생성] 버튼을 클릭해 주십시오.
- 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오.
1. 기본 설정
배포 시나리오의 이름과 설명을 입력한 후 [다음] 버튼을 클릭해 주십시오.
2. 배포 전략 설정
배포 전략과 배포 과정을 선택한 후 [다음] 버튼을 클릭해 주십시오.
배포 전략은 기본과 블루/그린이 제공됩니다.
- 기본: 설정된 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 내 서버를 자동으로 반납
참고Auto Scaling Group에 Cloud Insight 모니터링 이벤트가 설정되었을 경우, 해당 Auto Scaling Group은 반납할 수 없습니다.
따라서 블루/그린 배포에서 기존 Auto Scaling Group에 Cloud Insight 모니터링 이벤트가 설정되었다면, 배포 완료 후 기존 Auto Scaling Group을 자동 반납할 수 없습니다. 기존 Auto Scaling Group이 더 이상 필요하지 않은 경우, 직접 해당 서비스에서 반납해 주십시오.- 새로운 Auto Scaling Group에 연결할 Load Balancer Target Group을 선택해 주십시오.
3. 배포 파일 설정
배포 파일 위치와 빌드 프로젝트를 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 배포 파일 위치는 Source Build, Object Storage, 나중에 설정이 제공됩니다.
- Source Build를 선택한 경우 빌드 프로젝트를 선택해 주십시오. 가장 마지막 빌드 결과가 실패이거나 빌드 결과물을 업로드하지 않았을 경우에는 배포가 실행되지 않습니다.
- Object Storage를 선택한 경우 보유한 Object Storage 내의 버킷 중에서 배포 파일을 선택해 주십시오. 배포 파일은 .zip로 압축된 파일만 배포할 수 있습니다.
- 나중에 설정을 선택한 경우 시나리오 배포 시 배포 파일을 설정할 수 있습니다.
4. 배포 명령어 설정
배포 명령어를 설정한 후 [다음] 버튼을 클릭해 주십시오.
- 명령어는 여러 개를 입력할 수 있으며, 순차적으로 실행됩니다.
- 배포 전 실행: 배포 전 서버에서 실행할 명령어를 설정한 후 [추가] 버튼을 클릭해 주십시오.
- 실행 계정: 명령어를 수행할 서버 계정을 입력해 주십시오.
- 실행 명령: 서버에서 실행할 명령어를 입력해 주십시오.
- 파일 배포: 파일을 배포할 경로를 설정한 후 [추가] 버튼을 클릭해 주십시오.
- 소스 파일 경로: 배포할 파일의 경로를 입력해 주십시오.
- 배포 경로: 배포할 서버의 전체 경로를 입력해 주십시오.
- 3. 배포 파일 설정에서 배포 파일 위치를 나중에 설정으로 선택하거나 SourceBuild의 마지막 빌드 결과물이 없는 경우, 파일 배포에 나중에 설정 또는 마지막 빌드 결과물 없음이 표기됩니다.
- 배포 후 실행: 배포 후 서버에서 실행할 명령어를 설정한 후 [추가] 버튼을 클릭해 주십시오.
- 실행 계정: 명령어를 수행할 서버 계정을 입력해 주십시오.
- 실행 명령: 서버에서 실행할 명령어를 입력해 주십시오.
- 추가한 명령어를 삭제하려면 [삭제] 버튼을 클릭해 주십시오.
- 배포 실패 시 롤백 기능을 사용하려면 사용을 클릭하여 선택해 주십시오.
- 롤백 기능을 사용할 경우 배포 실패 시 자동으로 이전 버전으로 롤백합니다.
- 해당 Stage를 기준으로 마지막으로 성공한 배포를 재실행시킴으로써 롤백이 진행됩니다.
- 이전에 배포했던 파일이 Object Storage에 존재하지 않거나, 마지막 성공 배포가 없는 경우에는 롤백이 실패합니다.
5. 최종 확인
설정한 배포 시나리오 정보를 확인한 후 [배포 시나리오 생성] 버튼을 클릭해 주십시오.
Ncloud Kubernetes Service 배포 시나리오 생성
배포 타깃이 Ncloud Kubernetes Service인 배포 시나리오를 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에 접속해 주십시오.
- Services > Developer Tools > SourceDeploy 메뉴를 차례대로 클릭해 주십시오.
- 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 Ncloud Kubernetes Service인 배포 Stage를 선택해 주십시오.
- [생성] 버튼을 클릭해 주십시오.
- 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오.
1. 기본 설정
배포 시나리오의 이름과 설명을 입력한 후 [다음] 버튼을 클릭해 주십시오.
2. 매니페스트 설정
매니페스트 파일이 위치한 리포지토리와 경로를 설정한 후 [다음] 버튼을 클릭해 주십시오.
- 매니페스트 파일 저장소 유형을 선택한 후 필요한 세부 항목을 설정해 주십시오.
- 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 설정한 경우에 입력해주십시오.)
참고- 방화벽 설정 등으로 인해 Github Enterprise Server에 통신이 불가한 경우 해당 저장소 유형을 사용할 수 없습니다.
- Github Enterprise Server URL 은 IP, Hostname으로 입력 가능하며, public 한 환경이어야 합니다.
- SSH Key 로그인은 다른 로그인과 달리 입력한 Git 리포지토리 URL의 리포지토리만 접근 할 수 있습니다.
- GitHub Enterprise Server 공식 가이드
- OAuth APP 생성 가이드
- OAuth App 설정 시 Callback URL은 다음과 같습니다.
- FKR : https://github-devtools.fin-ncloud.com:9443/ghes/sourcedeploy
- OAuth App 설정 시 Callback URL은 다음과 같습니다.
- Personal Access Token 생성 가이드
- SSH key 설정 가이드
- OAuth APP 생성 가이드
- 소유자: 매니페스트 파일이 저장된 리포지토리의 소유자 선택
- 리포지토리: 매니페스트 파일이 저장된 리포지토리 선택
- 브랜치: 매니페스트 파일이 저장된 리포지토리의 브랜치 선택
- 다음 중 하나의 인증 정보를 입력한 후 [Github Enterprise Server 로그인] 버튼 클릭
- SourceCommit 선택 시 다음의 항목을 설정
- 배포할 매니페스트 파일의 경로를 입력한 후 [추가] 버튼을 클릭해 주십시오.
- 추가한 경로는 [삭제] 버튼을 클릭하여 삭제할 수 있습니다.
Ncloud Kubernetes Service의 클러스터에 오브젝트를 배포하려면 매니페스트를 작성해야 하며, 배포에 사용할 매니페스트는 SourceCommit 리포지토리에 저장이 되어있어야 합니다.
매니페스트 파일 작성 순서대로 배포를 진행 합니다.
블루/그린, Canary 업데이트를 위한 새로운 매니페스트를 작성할 필요가 없습니다. 블루/그린, Canary에 필요한 새로운 오브젝트는 SourceDeploy에서 자동으로 배포합니다.
매니페스트 작성은 다음 예시를 참고해 주십시오.
<예시> 기존 배포된 Kubernetes 오브젝트 (kind: Deployment, name: sampleapp, namespace: dev)
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. 배포 전략 설정
배포 전략을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- Rolling: 기존 배포되어 있는 오브젝트가 없는 경우, 새로운 오브젝트 배포
- 오브젝트 업데이트가 아닌 새로운 오브젝트를 배포하는 경우, Rolling을 선택해 주십시오.
- 블루/그린/Canary: 기존 배포되어 있는 오브젝트가 없는 경우, 배포 실패
- 블루/그린, Canary 배포 전략으로 새로운 오브젝트를 배포할 수 없습니다.
- 블루/그린 전략으로 배포 시 새로운 버전(Green)의 오브젝트가 배포되기 때문에 오브젝트의 이름이 변경됩니다. 오브젝트 이름이 변경되더라도 매니페스트를 수정하지 않고 SourceDeploy를 통해 지속적으로 배포할 수 있습니다. 단, 해당 매니페스트를 이용하여 kubectl apply 등을 통해 수동으로 배포하여 기존 이름의 오브젝트가 생성될 경우, 업데이트할 오브젝트를 특정할 수 없기 때문에 SourceDeploy를 통한 지속적 배포가 불가능하게 됩니다.
- 배포 전략을 Canary로 선택한 경우, 분석 방법에 따라 Canary 수동 분석 설정, Canary 자동 분석 설정을 참고해 주십시오.
Canary 수동 분석 설정
- Baseline, Canary Pod 개수: Baseline, Canary 버전의 애플리케이션에 적용할 Replicas 수를 입력해 주십시오.
- 1~10까지 설정할 수 있습니다.
- Canary 분석 방법: 수동으로 선택해 주십시오.
- Baseline, Canary 버전의 애플리케이션을 사용자가 수동으로 분석하여, 배포 승인/취소 여부를 결정합니다.
- Time Out: 사용자가 Canary 배포/취소를 결정할 수 있는 최대 시간을 입력해 주십시오.
- 1~360분까지 설정할 수 있습니다.
- 설정된 시간이 초과되면 자동으로 배포가 취소되며 Baseline, Canary 애플리케이션이 종료됩니다.
Canary 자동 분석 설정
- 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 분석 시 활용할 수 있습니다.
- 해당 입력값은 PromQL 구문에서
- 평가 대상이 될 Metric을 생성한 후 선택해 주십시오.
- 분석 설정을 해주십시오.
- 분석 지연 시간: Baseline, Canary 버전 애플리케이션 배포 후 분석을 시작할 시간을 입력해 주십시오.
- 입력한 시간 이후 분석을 시작하며, 0~60분까지 설정할 수 있습니다.
- 분석 시간: 분석을 수행할 총시간을 입력해 주십시오.
- 10~360분까지 설정할 수 있습니다.
- 분석 주기: 분석을 수행할 주기를 입력해 주십시오.
- 1~360분까지 설정할 수 있으며, 분석 시간을 초과할 수 없습니다.
- Metric 수집 주기: 분석 시 수집된 Metric 값을 샘플링할 주기를 입력해 주십시오.
- 1~360초까지 설정할 수 있습니다.
- 분석 지연 시간: Baseline, Canary 버전 애플리케이션 배포 후 분석을 시작할 시간을 입력해 주십시오.
- 분석 성공 점수: 분석 시 모든 Metric에 대한 분석 점수를 입력해 주십시오.
- 1~100까지 설정할 수 있습니다.
- 분석 단계마다 해당 점수를 만족해야 배포가 진행됩니다.
- 분석 단계에서 해당 점수를 만족하지 못할 경우, 분석이 바로 중지되며 Baseline, Canary 버전의 애플리케이션이 종료됩니다.
- 등록된 모든 Metric 점수의 합산입니다.
- Metric 점수에 대한 자세한 내용은 Metric 생성을 참고해 주십시오.
Metric 생성
3. 배포 전략 설정 단계에서 배포 전략을 Canary로 선택하고 분석 방법을 자동으로 선택한 경우, Metric을 생성하는 방법은 다음과 같습니다.
- Metric 설정에서 [생성] 버튼을 클릭해 주십시오.
- Metric 생성 팝업 창에서 Metric 정보를 입력해 주십시오.
- Metric 이름을 입력해 주십시오.
- 성공 기준을 선택해 주십시오.
- 등록된 쿼리의 질의 결과에 대한 성공 기준이며, 성공 또는 실패로 분석됩니다.
- 질의 결과는 n개가 나올 수 있으며 각 질의 결과마다 성공/실패가 결정됩니다.
- 등록된 Metric 점수는 (성공한 질의 결과/전체 질의 결과) 가중치로 계산됩니다.
- Baseline < Canary: Baseline 버전의 값이 Canary 버전의 값보다 큰 경우 성공(편차의 값이 음수이거나 동일한 경우 성공)
- Baseline > Canary: Canary 버전의 값이 Baseline 버전의 값보다 큰 경우 성공(편차의 값이 양수이거나 동일한 경우 성공)
- 쿼리 타입을 선택해 주십시오.
Default: Label selector만을 활용할 때 사용
- Metric: Canary 자동 분석 설정 시 입력한 Prometheus Url의 설정된 Metric을 선택해 주십시오.
- Filter: 원하는 라벨 조건들을 입력해 주십시오.
<예시>kubernetes_namespace="dev" , ncp_sourcedeploy_canary="${basecanary}"
- Filter의
${basecanary}
는 Baseline과 Canary의 비교 분석을 위해 예약어로 제공하며, 쿼리에 해당 예약어를 사용하여 분석 시 분석 환경 변수값으로 치환되어 질의합니다.
<예시> Metric: requests_total
Filter: ncp_sourcedeploy_canary=${basecanary}
Canary: canaryenv, Baseline: baselineenv(Canary 자동 분석 설정의 분석 환경변수 참고)
Baseline 버전 쿼리requests_total{ncp_sourcedeploy_canary="baselineenv"}
Canary 버전 쿼리requests_total{ncp_sourcedeploy_canary="canaryenv"}
PromQL: 사용자가 쿼리에 직접 PromQL을 입력하여 사용
<예시> 웹 애플리케이션 requests 성공률 PromQLsum(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 환경을 구축하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에 접속해 주십시오.
- Services > Containers > Container Registry 메뉴를 차례대로 클릭해 주십시오.
- [레지스트리 생성] 버튼을 클릭하여 레지스트리를 생성해 주십시오.
- 레지스트리 생성에 관한 자세한 방법은 Container Registry 사용 가이드를 참고해 주십시오.
- Services > Developer Tools > SourceBuild 메뉴를 차례대로 클릭해 주십시오.
- [빌드 프로젝트 생성] 버튼을 클릭하여 빌드 프로젝트를 생성해 주십시오.
- 빌드 프로젝트 생성에 관한 자세한 방법은 SourceBuild 사용 가이드를 참고해 주십시오.
- 도커 이미지 빌드 기능을 사용하여 도커 이미지를 빌드하고 Container Registry에 저장할 수 있습니다.
- 빌드 환경 설정 단계에서 도커 이미지 빌드를 클릭하여 선택한 후 빌드 명령어 설정 단계에서 도커 이미지 빌드 설정을 사용으로 설정해 주십시오.
- 이미지 태그는 latest로 설정을 클릭하여 선택해 주십시오.
- SourceDeploy에서 자동으로 latest 태그를 digest 형태로 변경하여 배포를 시도하기 때문에 이미지 설정이 변경되지 않더라도 정상적으로 지속적 배포를 수행할 수 있습니다.
- 이미지 버전 관리와 함께 사용하여 항상 latest 이미지를 빌드할 수 있습니다.
- Services > Developer Tools > SourceDeploy 메뉴를 차례대로 클릭해 주십시오.
- [배포 프로젝트 생성] 버튼을 클릭하여 배포 타깃이 Ncloud Kubernetes Service인 배포 프로젝트를 생성해 주십시오.
- 배포 프로젝트 생성에 관한 자세한 방법은 배포 프로젝트 생성을 참고해 주십시오.
- Ncloud Kubernetes Service 배포 시나리오 생성을 참고하여 배포 시나리오를 생성해 주십시오.
- Services > Developer Tools > SourcePipeline 메뉴를 차례대로 클릭해 주십시오.
- [파이프라인 생성] 버튼을 클릭하여 파이프라인을 생성해 주십시오.
- 파이프라인 생성에 관한 자세한 방법은 SourcePipeline 사용 가이드를 참고해 주십시오.
- 도커 이미지 빌드가 설정된 SourceBuild 프로젝트와 Ncloud Kubernetes Service 배포가 설정된 SourceDeploy 프로젝트를 파이프라인으로 구성하여 CI/CD 환경을 구축할 수 있습니다.
- Trigger 설정을 클릭하여 선택하면 SourceCommit에 푸시함과 동시에 도커 이미지, Ncloud Kubernetes Service의 클러스터에 새로운 오브젝트를 배포하여 서비스를 운영할 수 있습니다.
- 파이프라인 생성에 관한 자세한 방법은 SourcePipeline 사용 가이드를 참고해 주십시오.
SourceDeploy를 사용하여 Ncloud Kubernetes Service의 클러스터에 지속적 배포를 구성하려면 배포 이미지가 Container Registry에 저장되어 있어야 합니다.
Object Storage 배포 시나리오 생성
배포 타깃이 Object Storage인 배포 시나리오를 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에 접속해 주십시오.
- Services > Developer Tools > SourceDeploy 메뉴를 차례대로 클릭해 주십시오.
- 시나리오를 생성할 배포 프로젝트를 클릭한 후 배포 타깃이 Object Storage인 배포 Stage를 선택해 주십시오.
- [생성] 버튼을 클릭해 주십시오.
- 배포 시나리오 생성 화면이 나타나면 다음 단계를 차례대로 진행해 주십시오.
1. 기본 설정
배포 시나리오의 이름과 설명을 입력한 후 [다음] 버튼을 클릭해 주십시오.
2. 배포 파일 설정
배포 파일 위치와 빌드 프로젝트를 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 배포 파일 위치는 Source Build, Object Storage, 나중에 설정이 제공됩니다.
- Source Build를 선택한 경우 빌드 프로젝트를 선택해 주십시오. 가장 마지막 빌드 결과가 실패이거나 빌드 결과물을 업로드하지 않았을 경우에는 배포가 실행되지 않습니다.
- Object Storage를 선택한 경우 보유한 Object Storage 내의 버킷 중에서 배포 파일을 선택해 주십시오. 배포 파일은 .zip로 압축된 파일만 배포할 수 있습니다.
- 나중에 설정을 선택한 경우 시나리오 배포 시 배포 파일을 설정할 수 있습니다.
3. 배포 경로 설정
파일의 배포 경로를 설정한 후 [다음] 버튼을 클릭해 주십시오.
- 소스 파일 경로와 배포 경로를 입력한 후 [추가] 버튼을 클릭해 주십시오.
- 경로는 여러 개를 입력하여 추가할 수 있습니다.
- 소스 파일 경로: 배포할 파일의 경로를 입력해 주십시오.
- 배포 경로: 배포할 버킷의 경로를 입력해 주십시오.
- 잠금 처리한 버킷일 경우 이미 업로드한 파일이 잠기므로 동일한 파일명(배포 경로)으로 작성 시 정상 배포되지 않습니다.
- 2. 배포 파일 설정에서 배포 파일 위치를 나중에 설정으로 선택하거나 SourceBuild의 마지막 빌드 결과물이 없는 경우 나중에 설정 또는 마지막 빌드 결과물 없음이 표기됩니다.
- 추가한 경로를 삭제하려면 [삭제] 버튼을 클릭해 주십시오.
- 설정한 배포 경로에 있는 파일 백업 기능을 사용하려면 사용을 클릭하여 선택해 주십시오.
- 백업 기능을 사용 할 경우, 설정한 배포 경로에 있는 모든 파일을 백업 합니다.
4. 최종 확인
설정한 배포 시나리오 정보를 확인한 후 [배포 시나리오 생성] 버튼을 클릭해 주십시오.
배포 시나리오 설정 변경
배포 시나리오의 설정을 변경하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에 접속해 주십시오.
- Services > Developer Tools > SourceDeploy 메뉴를 차례대로 클릭해 주십시오.
- 시나리오 설정을 변경할 배포 프로젝트와 배포 Stage를 차례대로 클릭해 주십시오.
- 설정을 변경할 시나리오를 선택한 후 [설정 변경] 버튼을 클릭해 주십시오.
- 배포 시나리오 설정 팝업 창에서 변경할 내용을 적용한 후 [적용] 버튼을 클릭해 주십시오.
- 배포 시나리오 생성 시 설정한 시나리오 이름을 제외한 나머지 항목을 모두 변경할 수 있습니다.
- 각 항목에 관한 자세한 내용은 배포 타깃별로 다음을 참고해 주십시오.
배포 시나리오 삭제
배포 시나리오를 삭제하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에 접속해 주십시오.
- Services > Developer Tools > SourceDeploy 메뉴를 차례대로 클릭해 주십시오.
- 시나리오 삭제할 배포 프로젝트와 배포 Stage를 클릭해 주십시오.
- 삭제할 시나리오를 선택한 후 [삭제] 버튼을 클릭해 주십시오.
- 배포 시나리오 삭제 팝업 창에서 [삭제] 버튼을 클릭해 주십시오.
- 해당 배포 시나리오가 삭제됩니다.