[AWS] Code 시리즈 [CodeCommit, CodeBuild, CodeDeploy, CodePipeline]

Cherry·2024년 5월 6일
0

CI/CD란? (Continuous Integration/Continuous Delivery)

CI/CD는 빌드 및 테스트를 자동화하여 보다 짧은 주기로 고객에게 어플리케이션을 제공하는 방법 또한 개발자가 변경하는 새로운 코드들의 병합으로 인해 생기는 여러가지 문제를 해결하기 위한 솔루션이다.
특히 소프트웨어 릴리즈 프로세스 중 빌드 또는 통합 단계를 주로 가리키며, 어플리케이션 라이프 사이클 전체의 자동화와 모니터링을 제공한다.

CI(Continuous Integration)

CI는 (Continuous Integration)는 새로운 코드 변경 사항이 공유 소스 리포지토리에 자동으로 자주 통합되는 것으로 빌드와 테스트를 자동화하는 과정이다. 버그를 신속하게 찾아 해결, 소프트웨어 품질 개선, 그리고 새로운 소프트웨어 업데이트를 검증 및 릴리스하는 데 걸리는 시간이 핵심 목표이다.

CD(Continuous Deployment)

CD는 (Continuous Deployment)는 개발자들의 변경사항이 모든 테스트를 거쳐 고객이 사용가능한 프로덕션 환경까지 자동으로 릴리즈 되는 것을 뜻한다. 코드 변경사항을 신속하게, 안정적으로, 그리고 지속적으로 고객에게 전달하는 것이 핵심 목표이다.

AWS Code Series

AWS CodeCommit

Git 기반의 레포지토리를 클라우드 기반으로 제공하는 서비스

  • 애플리케이션을 개발하면서 관리할 소스코드를 안전하게 저장하고, 제어할 수 있는 기능을 제공
  • AWS의 보안 기능을 사용하여 코드 및 자산을 보호

AWS CodeBuild

애플리케이션 개발에 필요한 소스코드를 컴파일 하고 테스트 후 배포 전 까지의 단계를 제공하는 완전관리형 서비스

  • 서버 또는 빌드 인프라 관리 없이 코드 빌드 및 테스트를 수행
  • 컨테이너 기반 빌드를 지원하므로 사용자 정의 빌드 환경을 생성 가능

AWS CodeDeploy


AWS EC2, AWS ECS 등 컴퓨팅 시스템에 대한 애플리케이션 배포를 자동화 하여 제공하는 완전 관리형 서비스

  • 지속적인 배포를 지원하는 대표적인 CD 도구
  • 다양한 배포 전략을 지원하며, 훅을 사용해 배포 라이프사이클 중에 사용자 정의 스크립트나 작업을 실행

AWS CodePipeline


지속적인 통합(CI) 및 지속적인 전달 (CD) 파이프라인을 자동화하는 완전관리형 서비스

  • 여러 AWS 도구와 통합되어 워크플로를 자동화가능
  • CodePipeline은 코드 변경을 감지하고 이를 빌드,테스트,배포하는 전체 프로세스를 자동화

전체적인 구조

0개의 댓글