AWS CI/CD 입문

AWS 배포 자동화

Dunieski Otano

Amazon Web Services Solutions Architect

지속적인 순환

AWS 배포 자동화

강사 소개

dunieski-otano-instructor-with-aws-certifications.png

AWS 배포 자동화

CI/CD가 중요한 이유

  • 수동 배포는 느리고 오류가 발생하기 쉽습니다
  • 개발자는 코드를 푸시한 후 누군가 배포해 주기를 기다립니다
  • CI/CD는 코드에서 프로덕션까지의 과정을 자동화합니다
  • 더 빠른 릴리스, 더 적은 오류

 

ci_cd

AWS 배포 자동화

CI/CD 라이프사이클

  • Source: 코드가 저장소에 커밋됩니다
  • Build: 코드를 컴파일하고 종속성을 설치합니다
  • Test: 자동화된 테스트로 빌드를 검증합니다
  • Deploy: 애플리케이션이 배포되며, 아티팩트가 단계 간에 전달됩니다

라이프사이클

AWS 배포 자동화

AWS Code 서비스 개요

  • CodeCommit: 소스 제어(Git 저장소)
  • CodeBuild: 컴파일, 테스트, 패키징
  • CodeDeploy: EC2, Lambda, ECS로 배포
  • CodePipeline: 모든 단계를 조율

   

 

코드 서비스 이미지

AWS 배포 자동화

CI, Continuous Delivery, Continuous Deployment 비교

  • Continuous Integration (CI): 푸시할 때마다 병합, 빌드, 테스트를 수행합니다
  • Continuous Delivery: 스테이징에 자동 배포하고, 프로덕션 배포는 수동 승인이 필요합니다 (가장 일반적)
  • Continuous Deployment: 테스트를 통과한 모든 빌드가 자동으로 배포됩니다

 

three-tier

AWS 배포 자동화

CodePipeline이 모든 단계를 조율하는 방법

cp

  • CodePipeline은 단계를 순서대로 연결합니다
  • 각 단계는 하나 이상의 작업으로 구성됩니다
  • 파이프라인은 소스가 변경되면 자동으로 실행됩니다
  • 한 단계라도 실패하면 파이프라인이 중단됩니다
AWS 배포 자동화

실제 파이프라인 예시

  • Source: 개발자가 CodeCommit에 푸시합니다
  • Build: CodeBuild가 테스트를 실행하고 ZIP으로 패키징합니다
  • Staging: CodeDeploy가 스테이징에 배포합니다
  • Approval => Production: 팀장이 승인하면 프로덕션에 배포합니다

 

실제 파이프라인 예시

AWS 배포 자동화

연습해 봅시다!

AWS 배포 자동화

Preparing Video For Download...