Cloud SA's This and That

[NCP] - Developer Tools 소개 & SourcePipeline을 통한 CI/CD Test 본문

Naver-Cloud/Developer

[NCP] - Developer Tools 소개 & SourcePipeline을 통한 CI/CD Test

뽀삐누냐 2023. 7. 27. 18:59
SMALL

[Developer Tools] : 데브옵스를 적용하여 소프트웨어 개발 환경을 신속하고 안전하게 구축 및 배포할 수 있는 서비스

- SourceCommit : 개발에 필요한 모든 형태의 파일은 안전하게 저장하고 관리할 수 있는 프라이빗 git 리파지토리

- SourceBuild : 다양한 언어의 소스 코드를 손쉽게 빌드하는 완전 관리형 병렬 빌드 서비스

- SouceDeploy : 새로 작성됐거나 업데이트된 소스를 서버에 자동으로 배포하고 적용하는 자동화 배포 서비스

- SoucePipeline : 리파지토리, 빌드, 배포 프로세스를 통합하여 소프트웨어 출시를 자동화하는 서비스

 

이밖에도 SouceBand(대화형 시각화 도구), Jenkins(젠킨스를 서버에 설치하여 제공) 서비스가 있다.

 

위의 개발자도구를 사용하여 간단히 CI/CD를 통한 애플리케이션 업데이트 테스트를 진행해보았다.

<해당 테스트를 위해 NCP에서 미리 인프라 구축>

 

[SourceCommit]

 

<리파지토리 생성>

>보안상품(File Safer)도 연동이 가능하다.

 > 클라우드 서버(미리 생성)를 위한 리파지토리 생성 완료

 

<GIT SSH 설정>

 > 로컬 터미널의 .ssh/id_rsa.pub 등록

 

 > 로컬 터미널에 ssh config 설

 

 >  로컬 터미널에 위에서 생성한 리파지토리 복제

 

 > 터미널에서 복제된 리파지토리 안에 새로운 파일 생성  git push

 

 > 정상적으로 연동된 것 확인 

 

 

[SourceBuild]

 > 빌드 결과물을 업로드할 오브젝트 스토리지 생성  빌드 프로젝트 생성

 

 * 빌드 결과물이 저장될 Object Storage를 미리 생성해야 한다.

 > 서버를 위한 build 프로젝트 생성 ( 소스 저장소 : 위에서 생성한 리파지토리로 설정 )

 

> 빌드 프로젝트 생성 후 정보 확인

 

 

[SourceDeploy]

 > 배포 프로젝트 생성(배포 환경 설정)

 

 > 생성한 배포 프로젝트의 배포 시나리오 생성

 > 배 타겟 : yjy-medical-gpu-c 서

 

<배포 시나리오 설정>

 

 > 배포 : 빌드된 일을 배포 타겟 서버(yjy-medical-gpu-c) /var/www/html/idex.html로 배포

 

<필수 설치>

echo $'NCP_ACCESS_KEY=accesskey\nNCP_SECRET_KEY=secretkey' > /opt/NCP_AUTH_KEY

wget https://sourcedeploy-agent.apigw.ntruss.com/agent/vpc/download/install

chmod 755 install

./install

rm -rf install

 

 > yjy-medical-gpu-c 서버(배포 타겟 서버) deploy agent 설치를 해야 정상적으로 배포가 된다.

 

 

[SourcePipeline]

 

> 파이프라인 생성 (작업 추가 및 트리거 설정)

 > 앞서 생성한 build  deploy 프로젝트로 파이프라인 설정

 

 

[CI/CD Test]

 

 > 로컬 터미널에서 index.html  수정

 

 > 터미널에서 git push 진행

 

 > SourceCommit 업데이트도 확인됨

 

 

> 파이프라인 실행 결과 success

 

> 서버(yjy-medical-gpu-c)에서 자동 업데이트 확인됨

 

 

 

LIST