AWS/Code Series

Code Series 각각 서비스 소개

hee_story 2021. 6. 9. 14:19

AWS에서는 CI/CD 구현을 위한 개발자도구 서비스들을 제공하고 있고,

기본적으로 CodeCommit, CodeBuild, CodeDeploy 를 사용해 파이프라인 구성 가능

 

 

1. CodeCommit

완전관리형 소스 리포지토리 서비스

Git 기반으로 기존에 사용하던 Git Hub와 동일하게 사용 가능

자격증명은 IAM을 통해 설정할 수 있고, HTTPS/SSH 연결 지원

파이프라인 구성 시 CodeCommit 또는 Git hub를 선택 해 사용 가능(CodeCommit 권장)

CodeCommit 자격증명 설정https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html

CodeCommit 레포지토리 생성https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-cc.html#getting-started-cc-create-repo

 

 

2. CodeBuild

완전관리형 빌드 서비스

CodeCommit Push가 되면 CodeBuild가 트리거 되어 빌드 환경을 생성하고 해당 소스코드를 컴파일해(+테스트) 출력 아티팩트 파일을 S3에 생성하는 프로세스

빌드 과정에 필요한 buildespec 파일을 소스 루트경로에 yaml파일로 정의 필요

CodeBuild buildspec: https://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/build-spec-ref.html

 

 

3. CodeDeploy

완전관리형 배포 서비스

Codebuild 에서 생성된 출력 아티팩트를 지정한 타겟그룹(EC2)에 배포

배포의 경우 EC2 %단위로 교체, Blue/Green 형태로 배포 가능

CodeDeploy 배포 구성https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html#deployment-configurations-predefined

CodeDeploy 설정 시 빌드와 마찬가지로 appspec파일을 소스 루트경로에 yaml파일로 정의 필요

CodeDeploy Appsepc: https://docs.aws.amazon.com/codedeploy/latest/userguide/application-revisions-appspec-file.html#add-appspec-file-server

 

 

4. CodePipeline

각각 설정한 Commit, Build, Deploy 서비스들의 단계를 하나의 파이프라인으로 구성해주는 서비스

구성 후 파이프라인을 통해 배포가 진행되면 배포상황을 시각화해주어 실시간으로 모니터링할 수 있음

Codepipeline자습서https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-simple-codecommit.html

 

 

**워크샵

AWS CDK로 간단한 리소스를 배포하고, 직접 콘솔에서 CodeCommit, Build, Deploy Codepipeline으로 구성 가능

- AWS CI/CD Workshop: https://aws-ci-cd.workshop.aws/30-source/200-seed-repo.html