AWS CI/CD 입문
AWS 배포 자동화
Dunieski Otano
Amazon Web Services Solutions Architect
지속적인 순환
강사 소개
CI/CD가 중요한 이유
수동 배포는 느리고 오류가 발생하기 쉽습니다
개발자는 코드를 푸시한 후 누군가 배포해 주기를 기다립니다
CI/CD는 코드에서 프로덕션까지의 과정을 자동화합니다
더 빠른 릴리스, 더 적은 오류
CI/CD 라이프사이클
Source
: 코드가 저장소에 커밋됩니다
Build
: 코드를 컴파일하고 종속성을 설치합니다
Test
: 자동화된 테스트로 빌드를 검증합니다
Deploy
: 애플리케이션이 배포되며, 아티팩트가 단계 간에 전달됩니다
AWS Code 서비스 개요
CodeCommit
: 소스 제어(Git 저장소)
CodeBuild
: 컴파일, 테스트, 패키징
CodeDeploy
: EC2, Lambda, ECS로 배포
CodePipeline
: 모든 단계를 조율
CI, Continuous Delivery, Continuous Deployment 비교
Continuous Integration (CI)
: 푸시할 때마다 병합, 빌드, 테스트를 수행합니다
Continuous Delivery
: 스테이징에 자동 배포하고, 프로덕션 배포는 수동 승인이 필요합니다
(가장 일반적)
Continuous Deployment
: 테스트를 통과한 모든 빌드가 자동으로 배포됩니다
CodePipeline이 모든 단계를 조율하는 방법
CodePipeline은 단계를 순서대로 연결합니다
각 단계는 하나 이상의
작업
으로 구성됩니다
파이프라인은 소스가 변경되면 자동으로 실행됩니다
한 단계라도 실패하면 파이프라인이 중단됩니다
실제 파이프라인 예시
Source
: 개발자가 CodeCommit에 푸시합니다
Build
: CodeBuild가 테스트를 실행하고 ZIP으로 패키징합니다
Staging
: CodeDeploy가 스테이징에 배포합니다
Approval => Production
: 팀장이 승인하면 프로덕션에 배포합니다
연습해 봅시다!
AWS 배포 자동화
Preparing Video For Download...