Code Series 각각 서비스 소개
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