일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Codepipeline
- codecommit
- k8s
- node exporter
- Naver cloud platform
- Persistent Volume Claim
- ALB
- HTTPS Redirect
- pod
- Persistent Volume
- DevOps
- cicd
- RKE2
- ingress controller
- Codebuild
- Prometheus
- slack
- AWS
- Codedeploy
- SSL Offload
- ncp
- volume
- ingress
- emptyDir
- kubernetes
- aws-dop
- grafana
- NFS Client Privisioner
- emptyDir Volume
- alertmanager
- Today
- Total
Cloud SA's This and That
[NCP] - Developer Tools 소개 & SourcePipeline을 통한 CI/CD Test 본문
[NCP] - Developer Tools 소개 & SourcePipeline을 통한 CI/CD Test
뽀삐누냐 2023. 7. 27. 18:59[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)에서 자동 업데이트 확인됨