사용하기 전에

Q. SourceDeploy는 무엇인가요?

  • SourceDeploy는 새로 작성되거나 업데이트된 소스들을 자동으로 서버에 배포하고 적용해주는 배포 자동화 서비스입니다.
  • SourceDeploy는 미리 설정된 사용자 기반 명령어들을 통해 소스 배포, 실행 및 검증을 자동화할 수 있고 배포 중 서비스 중단 시간을 최소화할 수 있습니다.
  • SourceDeploy는 배포 실행 관리자를 통해 배포 실행을 제어하여 필수적으로 필요한 배포만 적용하여 서비스의 품질을 보장할 수 있습니다.

Q. SourceDeploy의 사용 절차는 어떻게 되나요?

devtools-4-1-101

  1. 배포 프로젝트 생성: 콘솔의 Dev Tools > SourceDeploy에서 새로운 배포 프로젝트를 생성합니다.
  2. 에이전트 설치: 배포하고자 하는 타겟 서버에 SourceDeploy용 에이전트를 설치합니다.
  3. 배포 시나리오 생성: 배포할 파일과 명령어를 설정할 수 있는 배포 시나리오를 생성합니다.
  4. 배포 실행: 생성된 프로젝트를 클릭하여 배포 실행 페이지에서 배포를 실행합니다.

Q. SourceDeploy용 에이전트는 필수로 설치되어야 하나요?

SourceDeploy를 사용하기 위해서는 배포하고자 하는 타겟 서버에 SourceDeploy용 에이전트가 필수로 설치되어야 합니다. 에이전트를 설치하는 방법은 다음 링크를 통해 확인하세요.(에이전트 설치 가이드 바로 가기)

Q. SourceDeploy가 지원하는 배포 환경은 무엇인가요?

SourceDeploy는 네이버 클라우드 플랫폼에서 생성한 서버 혹은 Auto Scaling을 대상으로 배포를 지원합니다. 따라서 SourceDeploy를 사용하기 위해서는 사전에 서버 혹은 Auto Scaling Group이 생성되어 있어야 합니다.

또한, CentOS, Ubuntu 이미지 타입을 지원합니다. 좀 더 자세한 사항은 에이전트 설치 가이드에서 확인해 주세요.

Q. 생성한 배포 프로젝트는 어디서 확인할 수 있나요?

SourceDeploy에서 생성한 배포 프로젝트는 네이버 클라우드 플랫폼 콘솔에서 확인할 수 있습니다.

  • 배포 프로젝트 및 배포 스테이지, 배포 시나리오를 생성하고 변경 및 삭제할 수 있습니다.
  • 배포 프로젝트를 사용할 서브 계정을 추가하고 권한을 변경할 수 있니다.
  • 배포를 실행할 수 있습니다.
  • 배포 히스토리와 배포 로그를 확인할 수 있습니다.

SourceDeploy 사용 권한

SourceDeploy는 다음과 같은 권한이 있습니다.

배포 프로젝트 생성 권한

해당 권한은 고객 계정이 Management > Sub Account 메뉴에서 서브 계정에 부여할 수 있습니다.(Sub Account 이용 안내 바로 가기)

1. NCP_SOURCE_DEPLOY_MANAGER

  • 콘솔에서 '배포 프로젝트 생성'을 통해 배포 프로젝트를 생성할 수 있고, 자신이 생성한 배포 프로젝트를 관리 및 다른 서브 계정에 공유할 수 있습니다.

  • 고객 계정은 해당 권한이 기본으로 부여되어 있으며, 서브 계정은 고객 계정 사용자로부터 Management > Sub Account 메뉴에서 해당 권한을 할당받을 수 있습니다.

    참고: NCP_SOURCE_DEPLOY_MANGER 권한 부여하기 devtools-4-1-102

    ① 서브 계정에 SourceDeploy 관리자 권한을 부여하기 위해서는 Sub Account 메뉴의 Sub Accounts를 선택합니다.

    ② 부여할 서브 계정을 선택합니다.

    devtools-4-1-103

    ① 선택한 서브 계정의 정책에 NCP_SOURCE_DEPLOY_MANAGER 정책을 선택합니다.

    ② 해당 정책을 추가합니다.

배포 프로젝트 사용 권한

해당 권한은 고객 계정이나 SourceDeploy 관리자(서브 계정)가 SourceDeploy에서 배포 프로젝트를 공유할 서브 계정에 부여하는 권한입니다.

1. ADMIN

  • 배포 프로젝트 조회, 설정 변경, 삭제 권한을 포함하고 있습니다.
  • 배포 프로젝트 내의 배포 스테이지 생성, 설정 변경, 삭제 권한을 포함하고 있습니다.
  • 배포 스테이지 내의 배포 시나리오 생성, 설정 변경, 삭제 권한을 포함하고 있습니다.
  • 배포 프로젝트를 생성한 계정은 자동으로 ADMIN 권한이 부여됩니다.
  • 배포 프로젝트 사용자 계정(서브 계정)을 할당하고 권한을 부여할 수 있습니다.
  • 배포를 실행할 수 있습니다.

2. USER

  • 배포 프로젝트, 배포 스테이지, 배포 시나리오 조회 권한을 포함하고 있습니다.
  • 배포를 실행할 수 있습니다.

배포 프로젝트 생성

Step 1. 콘솔 접속

콘솔에서 Dev Tools > SourceDeploy 메뉴로 접속합니다.

devtools-4-1-104

배포 프로젝트 생성 버튼을 클릭하여 새로운 배포 프로젝트를 생성합니다.

  • 배포 프로젝트를 생성하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_SOURCE_DEPLOY_MANAGER 권한 혹은 NCP_INFRA_MANAGER 권한을 가지고 있는 서브 계정이어야 합니다.
  • NCP_SOURCE_DEPLOY_MANAGER 권한 혹은 NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.

② SourceDeploy에 처음 접속하면 다음과 같은 문구가 표시됩니다.

  • 현재 생성된 배포 프로젝트가 없습니다. 배포 프로젝트 생성 버튼을 클릭하여 배포 프로젝트를 생성하세요.

Step 2. 기본 설정

배포 프로젝트 생성에 필요한 정보를 입력합니다.

devtools-4-1-105

① 생성할 배포 프로젝트의 이름을 입력합니다.

Step 3. 배포 환경 설정

배포 환경을 설정합니다.

devtools-4-1-106

① 배포 Stage는 기본적으로 dev, test, real이 노출됩니다. 필요한 Stage를 설정하여 환경을 구성할 수 있습니다.

② 새로운 이름의 Stage를 생성할 수 있습니다.

③ 설정된 서버에는 SourceDeploy용 에이전트가 설치되어 있어야 합니다.(에이전트 설치 가이드 바로 가기)

④ Stage를 설정으로 변경하면 상세 정보를 설정할 수 있습니다.

  • 배포 타겟은 네이버 클라우드 플랫폼에서 생성한 서버 혹은 Auto Scaling 중 선택할 수 있습니다.
  • 현재 보유한 서버 혹은 Auto Scaling 리스트가 노출됩니다. 배포할 타겟을 선택합니다.
  • 서버 혹은 Auto Scaling은 네이버 클라우드 플랫폼의 각 상품에서 생성할 수 있습니다.
  • 배포 타겟이 Auto Scaling Group일 경우 해당 그룹에서 스케일 아웃 된 서버에 대해 자동 배포가 실행됩니다. (이전에 해당 Auto Scaling Group에 배포한 적이 있을 경우에만 실행됩니다.)

Step 4. 사용자 공유

배포 프로젝트를 공유할 사용자 및 배포 실행 관리자를 설정합니다.

devtools-4-1-107

① 선택한 빌드 프로젝트에 설정되어있는 서브 계정들이 테이블에 자동으로 추가됩니다.

② 배포 프로젝트를 공유할 사용자를 리스트에서 선택합니다.

  • 배포 프로젝트를 공유할 사용자는 서브 계정 중에서 선택할 수 있습니다. 서브 계정 사용자를 추가하기 위해서는 우선 Sub Account 메뉴에서 계정을 추가 등록하기 바랍니다.(Sub Account 이용 안내 바로 가기)

③ 공유할 사용자에게 할당할 접근 권한을 선택합니다. 접근 권한은 2가지입니다.

  • ADMIN: 배포 프로젝트 설정 변경/삭제, Stage, 시나리오 생성/설정 변경/삭제 및 배포 실행권한을 포함합니다.
  • USER: 배포 프로젝트, Stage, 시나리오 조회 및 배포 실행권한을 포함합니다.

④ 배포 실행에 대한 승인 절차가 필요하다면 배포 실행 관리자를 설정합니다.

  • 배포 실행 관리자를 설정하면 해당 Stage에서 발생하는 배포는 배포 실행 관리자로부터 승인을 받아야 실행됩니다.
  • 배포 실행 관리자는 사용자 공유에 추가된 서브 계정 및 고객 계정 중에서 선택할 수 있습니다.

⑤ 배포 승인 프로세스를 적용할 Stage를 선택합니다.

  • Stage는 step 2.배포 환경 설정 단계에서 설정한 Stage 중에서 선택할 수 있습니다.

⑥ 배포를 실행시킬 배포 승인에 필요한 최소 인원을 선택합니다.

  • 1명: 최소 한 명의 배포 실행 관리자로부터 승인을 받으면 배포가 실행됩니다.
  • 모두: 설정된 모든 배포 실행 관리자로부터 승인을 받으면 배포가 실행됩니다.

Step 5. 최종 확인

배포 프로젝트 생성을 완료합니다.

devtools-4-1-108

① 이전 단계에서 설정한 배포 프로젝트 정보를 확인합니다.

배포 프로젝트 생성 버튼을 클릭하여 생성을 완료합니다.

배포 시나리오 생성

배포 파일과 배포 명령어를 설정할 수 있는 배포 시나리오를 생성합니다.

step 1. 배포 시나리오 생성

devtools-4-1-109

① 생성된 배포 프로젝트를 선택합니다.

배포 시나리오 생성 버튼을 클릭합니다.

  • 배포 시나리오를 생성하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_INFRA_MANAGER 권한 혹은 선택한 배포 프로젝트에 대해 ADMIN 권한을 가지고 있는 서브계정이어야 합니다.
  • NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.

step 2. 기본 설정

devtools-4-1-110

① 선택한 배포 프로젝트입니다.

② 선택한 배포 stage입니다.

③ 생성할 배포 시나리오의 이름을 입력합니다.

④ 생성할 배포 시나리오의 설명을 입력합니다.

step 3. 배포 파일 설정

devtools-4-1-111

① 배포할 파일을 선택합니다.

  • SourceBuild: 선택된 빌드 프로젝트의 가장 마지막 빌드 결과를 조회하여 해당 빌드 결과물을 자동으로 배포합니다. 만약 가장 마지막 빌드 결과가 실패이거나 빌드 결과물을 업로드하지 않았을 경우에는 배포가 실행되지 않습니다.
  • Object Storage: 보유한 Object Storage 내의 버킷 중에서 배포 파일을 선택합니다. 배포 파일은 zip 포맷으로 압축된 파일만 배포할 수 있습니다.
  • 나중에 설정: 배포 파일은 나중에 설정할 수 있습니다.

step 4. 배포 명령어 설정

devtools-4-1-112

① 배포 전에 서버에서 실행할 명령어를 설정합니다. 여러 개를 입력할 수 있으며, 순차적으로 실행됩니다.

  • 실행 계정: 명령어를 수행할 서버 계정을 입력합니다.
  • 실행 명령: 서버에서 실행할 명령어를 입력합니다.

② 파일의 배포할 경로를 설정합니다. 여러 개를 입력할 수 있으며, 순차적으로 배포됩니다.

  • 소스 파일 경로: 배포할 파일 경로를 입력합니다. 경로는 배포 파일을 기준으로 작성합니다.
  • 배포 파일 경로: 배포할 서버 경로를 입력합니다. 서버의 전체 경로를 작성합니다.
  • 배포 파일을 '나중에 설정'하거나 SourceBuild 마지막 빌드 결과물이 없을 경우에는 메시지가 노출됩니다.

③ 배포 후 서버에서 실행할 명령어를 설정합니다. 여러 개를 입력할 수 있으며, 순차적으로 실행됩니다.

  • 실행 계정: 명령어를 수행할 서버 계정을 입력합니다.
  • 실행 명령: 서버에서 실행할 명령어를 입력합니다.

④ 롤백을 사용하면 배포가 실패했을 경우 자동으로 이전 버전으로 롤백합니다.

  • 롤백은 해당 Stage를 기준으로 마지막으로 성공한 배포를 재실행시킴으로써 롤백이 진행됩니다.
  • 이전에 배포했던 파일이 Object Storage에 존재하지 않거나, 마지막 성공 배포가 없을 경우에는 롤백이 실패됩니다.

step 5. 최종 확인

배포 시나리오 생성을 완료합니다.

devtools-4-1-113

① 이전 단계에서 설정한 배포 시나리오 정보를 확인합니다.

배포 시나리오 생성 버튼을 클릭하여 생성을 완료합니다.

배포 실행하기 (배포 실행 관리자가 설정되어있지 않은 경우)

step 1. 배포 프로젝트 선택

devtools-4-1-123

① 배포 프로젝트 이름을 선택하여 배포 실행 페이지로 이동합니다.

배포로 이동 버튼을 클릭하여 배포 실행 페이지로 이동합니다.

step 2. 배포 시나리오 선택 및 배포 실행

devtools-4-1-124

① 배포를 실행할 배포 시나리오를 선택합니다.

② 배포 시나리오의 기본 정보 및 배포 환경을 확인할 수 있습니다.

③ 배포 시나리오에 설정된 배포 설정(배포 파일, 배포 명령어, 롤백 여부)을 확인하고 변경할 수 있습니다.

  • 해당 페이지에서 변경된 배포 설정은 저장되지 않으며, 해당 배포에서 한 번만 적용됩니다.

배포 시작하기 버튼을 클릭하여 배포를 실행합니다.

step 3. 배포 로그 확인

devtools-4-1-125

① 배포를 실행하면 작업 결과 페이지로 이동합니다.

② 실행한 배포의 상태를 확인할 수 있습니다.

③ 설정한 명령어가 서버에서 수행되면서 발생하는 로그를 확인할 수 있습니다.

④ 배포를 중간에 취소할 수 있습니다.

  • 배포를 취소하면 현재 실행 중인 단계까지 진행되고 이후 단계는 진행되지 않습니다.

배포 실행하기 (배포 실행 관리자가 설정된 경우)

step 1. 배포 프로젝트 선택

devtools-4-1-123

① 배포 프로젝트 이름을 선택하여 배포 실행 페이지로 이동합니다..

배포로 이동 버튼을 클릭하여 배포 실행 페이지로 이동합니다.

step 2. 배포 시나리오 선택 및 배포 승인 요청

devtools-4-1-126

① 배포를 실행할 배포 시나리오를 선택합니다.

② 배포 시나리오의 기본 정보 및 배포 환경을 확인할 수 있습니다.

③ 배포 시나리오에 설정된 배포 설정(배포 파일, 배포 명령어, 롤백 여부)을 확인하고 변경할 수 있습니다.

  • 해당 페이지에서 변경된 배포 설정은 저장되지 않으며, 해당 배포에서 한 번만 적용됩니다.

배포 승인 요청 버튼을 클릭하여 배포 실행을 배포 실행 관리자에게 요청합니다.

  • 해당 배포는 설정된 배포 승인 최소 인원이 만족되면 자동으로 배포가 실행됩니다.

step 3. 배포 승인 상태 확인 (배포 실행 관리자가 아닌 계정)

devtools-4-1-127

작업 결과 페이지로 이동합니다.

② 승인 요청한 배포의 확인 버튼을 클릭합니다.

③ 승인 요청한 배포의 승인 상태를 확인할 수 있습니다.

step 3. 배포 승인 혹은 거절하기 (배포 실행관리자 계정)

devtools-4-1-128

작업 결과 페이지로 이동합니다.

② 승인이 필요한 배포의 승인 버튼을 클릭합니다.

③ 승인이 필요한 배포의 정보 확인 및 해당 배포의 승인 혹은 거절을 선택할 수 있습니다.

  • 해당 배포는 설정된 배포 승인 최소 인원이 만족되면 자동으로 배포가 실행됩니다.

설정 변경

배포 프로젝트 설정 변경

devtools-4-1-114

① 설정을 변경할 배포 프로젝트를 선택합니다.

설정 변경 버튼을 클릭합니다.

  • 배포 프로젝트 설정을 변경하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_INFRA_MANAGER 권한 혹은 선택한 배포 프로젝트에 대해 ADMIN 권한을 가지고 있는 서브계정이어야 합니다.
  • NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.

devtools-4-1-115

③ 선택한 빌드 프로젝트에 설정되어있는 서브 계정들이 자동으로 추가됩니다.

④ 배포 프로젝트를 사용할 사용자를 변경할 수 있습니다.

⑤ 배포 실행 관리자와 관련된 사용자를 변경할 수 있습니다.

⑥ 변경 사항을 적용합니다.

배포 Stage 설정 변경

devtools-4-1-116

① 설정을 변경할 배포 Stage를 선택합니다.

설정 변경 버튼을 클릭합니다.

  • 배포 Stage 설정을 변경하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_INFRA_MANAGER 권한 혹은 선택한 배포 프로젝트에 대해 ADMIN 권한을 가지고 있는 서브계정이어야 합니다.
  • NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.

devtools-4-1-117

③ 배포 Stage에 설정된 배포 환경을 변경할 수 있습니다.

④ 변경 사항을 적용합니다.

배포 시나리오 설정 변경

devtools-4-1-118

① 설정을 변경할 배포 시나리오를 선택합니다.

설정 변경 버튼을 클릭합니다.

  • 배포 시나리오 설정은 변경하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_INFRA_MANAGER 권한 혹은 선택한 배포 프로젝트에 대해 ADMIN 권한을 가지고 있는 서브계정이어야 합니다.
  • NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.

devtools-4-1-119

③ 배포 시나리오 설명을 변경할 수 있습니다.

④ 배포 파일을 변경할 수 있습니다.

⑤ 배포 명령어를 변경할 수 있습니다.

⑥ 배포 실패 시 롤백 진행 여부를 변경할 수 있습니다.

⑦ 변경 사항을 적용합니다.

삭제

배포 프로젝트 삭제

devtools-4-1-120

① 삭제할 배포 프로젝트를 선택합니다.

[삭제] 버튼을 클릭합니다.

  • 배포 프로젝트를 삭제하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_INFRA_MANAGER 권한 혹은 선택한 배포 프로젝트에 대해 ADMIN 권한을 가지고 있는 서브계정이어야 합니다.
  • NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.
  • 선택한 배포 프로젝트 내에서 배포가 진행되고 있는 경우에는 삭제가 되지 않습니다. 진행되고 있는 배포가 없는 경우에만 배포 프로젝트를 삭제할 수 있습니다.

배포 Stage 삭제

devtools-4-1-121

① 삭제할 배포 Stage를 선택합니다.

[삭제] 버튼을 클릭합니다.

  • 배포 Stage를 삭제하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_INFRA_MANAGER 권한 혹은 선택한 배포 프로젝트에 대해 ADMIN 권한을 가지고 있는 서브계정이어야 합니다.
  • NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.
  • 선택한 배포 프로젝트 내에서 배포가 진행되고 있는 경우에는 삭제가 되지 않습니다. 진행되고 있는 배포가 없는 경우에만 배포 프로젝트를 삭제할 수 있습니다.

배포 시나리오 삭제

devtools-4-1-122

① 삭제할 배포 시나리오를 선택합니다.

[삭제] 버튼을 클릭합니다.

  • 배포 시나리오를 삭제하기 위해서는 로그인한 계정이 고객 계정이거나, NCP_INFRA_MANAGER 권한 혹은 선택한 배포 프로젝트에 대해 ADMIN 권한을 가지고 있는 서브계정이어야 합니다.
  • NCP_INFRA_MANAGER 권한은 콘솔의 Management > Sub Account 메뉴에서 할당할 수 있습니다.
  • 선택한 배포 프로젝트 내에서 배포가 진행되고 있는 경우에는 삭제가 되지 않습니다. 진행되고 있는 배포가 없는 경우에만 배포 프로젝트를 삭제할 수 있습니다.

참고 사항

본 상품은 글로벌 리전 서비스로도 제공됩니다.

연관 정보 바로 가기

아래 가이드에서 연관 정보를 확인할 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...