CI/CD?
- CI(Continuos Integration) : 지속적 통합을 뜻하는 단어로, 다수의 개발자가 개발한 코드를 공유 레포지토리에 코드를 커밋하고 병합하는 것으로, 자주 혹은 자동으로 메인 브랜치에 통합하는 것을 의미합니다.
- CD(Continuos Deployment / Delivery): 지속적 배포 혹은 지속적 전달을 뜻하는 단어로, 통합된 코드를 프로덕션까지 자동으로 배포하는 프로세스를 의미합니다.
CodeCommit
AWS CodeCommit는 클라우드에서 자산(문서, 소스 코드 등)을 비공개로 저장하여 관리하는 데 사용할 수 있도록 AWS에서 호스팅되는 버전 관리 서비스로, Github와 유사합니다!
CodeBuild
- AWS CodeBuild는 클라우드 상의 완전관리형 빌드 서비스!
- 소스 코드를 컴파일하고 단위 테스트를 실행하며 배포 준비가 완료된 아티팩트를 생성!
- 자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요 X!
- Apache Maven, Gradle 등과 같은 프로그래밍 언어 및 빌드 도구에 맞게 사전 패키지된 빌드 환경을 제공!
-> 사용자 지정을 통해 사용자 고유의 빌드 도구 또한 사용 가능! - 최대 빌드 요청 수에 맞게 자동으로 확장!
CodeDeploy
EC2 인스턴스, 온프레미스 인스턴스, Serverless Lambda 함수, Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스로, [코드, 스크립트, 멀티미디어, 패키지] 등 다양한 애플리케이션 콘텐츠를 거의 무제한으로 배포할 수 있는 서비스입니다!
CodePipeline
빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리즈 파이프라인을 자동화하는 데 도움이 되는 완전 관리형의 CD(Continuos Delivery) 서비스로, [CodeCommit, CodeBuild, CodeDeploy]는 CodePipeline 안에 통합되어, 하나의 CI/CD 파이프라인을 구성하게 됩니다!
CodePipeline 특징
- 소프트웨어 릴리즈 프로세스를 모델링하고, 서버를 설정하거나 프로비저닝할 필요성 감소
- AWS Management Console, AWS Command Line Interface(CLI)를 사용하여 소프트웨어 릴리스 프로세스 단계 정의 가능
- 피드백을 반복하고 각 코드 변경을 테스트하여 버그를 포착하는 새로운 기능을 신속하게 릴리스 가능
- 릴리스 프로세스의 모든 단계에서 자체 플러그 또는 사전 구축된 플러그인을 사용하여 필요에 맞추어 조정 가능
'AWS' 카테고리의 다른 글
[데이터, AWS] 15. Redshift? (0) | 2024.10.29 |
---|---|
[AWS] 14. Lambda (0) | 2024.10.28 |
[AWS] 12. S3? (0) | 2024.10.25 |
[AWS] 11. IAM? (0) | 2024.10.25 |
[AWS] 10. VPC? (0) | 2024.10.25 |