Conceptly
← 전체 목록
🔄

AWS CodePipeline

관리완전 관리형 CI/CD 파이프라인

CodePipeline은 소스 변경부터 빌드, 테스트, 배포까지 릴리스 단계를 순서대로 이어 주는 전달 파이프라인입니다. 개별 도구를 묶어 반복 가능한 배포 흐름으로 만드는 오케스트레이션 계층입니다.

아키텍처 다이어그램

🔄 프로세스 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

릴리스할 때마다 사람이 소스 pull, 빌드, 테스트, 이미지 push, 배포를 순서대로 챙기면 작은 변경도 오래 걸립니다. 단계 하나라도 빠지면 성공 기준이 흔들리고, 팀이 커질수록 배포가 사람 기억에 의존하게 됩니다.

왜 이런 방식이 등장했나요?

초기 팀들은 빌드 스크립트와 배포 순서를 사람 손으로 연결하며 릴리스를 운영했습니다. 수동으로 진행하다 보면 잘못된 브랜치의 코드를 배포하거나 빌드 단계를 빠뜨리는 실수가 생겼고, 배포가 어떤 과정을 거쳐 완료됐는지 추적하기도 어려웠습니다. 서비스마다 배포 방식이 달라 일관성이 없었고, 팀이 커질수록 담당자가 바뀔 때마다 배포 절차를 다시 파악해야 했습니다. 그래서 전달 과정을 표준화하는 파이프라인 도구인 CodePipeline이 중요해졌습니다.

안에서 어떻게 동작하나요?

CodePipeline은 소스 저장소의 변경을 감지하는 것부터 시작합니다. 변경이 감지되면 빌드 단계로 넘어가 CodeBuild가 코드를 컴파일하고 이미지를 만듭니다. 빌드가 끝나면 테스트 게이트를 통과해야 하는데, 이 단계에서 실패하면 파이프라인이 그 자리에서 멈추고 이후 배포 단계는 실행되지 않습니다. 게이트를 통과한 산출물만 배포 단계로 전달되어 ECS나 CloudFormation에 적용됩니다. 각 스테이지가 실패하면 파이프라인이 멈춰 잘못된 코드가 프로덕션에 도달하지 못하게 막는 것이 이 구조의 핵심입니다.

무엇과 헷갈리나요?

CodePipeline과 CloudFormation은 둘 다 배포 체인에 등장하지만 역할이 다릅니다. CodePipeline은 소스부터 배포 완료까지 릴리스 흐름을 조율하는 계층이고, CloudFormation은 구체적 인프라 리소스를 선언적으로 생성하는 엔진입니다. 빌드·승인·배포 순서를 자동화하는 문제가 핵심이면 CodePipeline을 보고, VPC나 ECS 같은 리소스를 코드로 만드는 문제가 핵심이면 CloudFormation을 보면 됩니다.

언제 쓰나요?

컨테이너 배포, 인프라 변경 자동 적용, 승인 단계 포함 배포, 반복 릴리스 자동화에 적합합니다. 인프라 리소스 자체를 선언적으로 정의하는 것은 파이프라인의 역할이 아닙니다.

지속적 배포멀티 스테이지 배포컨테이너 CI/CD인프라 배포