본문 바로가기

Cloud Study/CI|CD

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

1. AWS CodeCommit 이란

AWS CodeCommit은 Git 기반의 레포지토리를 클라우드 기반으로 제공하는 서비스입니다.

애플리케이션을 개발하면서 관리할 소스코드를 안전하게 저장하고, 제어할 수 있는 기능을 제공합니다.

CodeCommit은 완전관리형 서비스로써 사용자가 자체 소스코드 제어 시스템을 운영하거나 인프라 규모 조정을 걱정할 필요없이 코드부터 바이너리까지 모든 사항을 저장할 수 있습니다.

 

2. AWS CodeBuild 란

AWS CodeBuild 란 애플리케이션 개발에 필요한 소스코드를 컴파일 하고 테스트 후 배포전 까지의 단계를 제공하는 서비스입니다. CodeBuild 를 사용하면 자체 빌드 서버(jenkins 등)가 필요하지 않기 때문에

버를 직접 설정하고 패치 및 업 데이트를 적용하고 관리할 필요가 없는 완전 관리형 서비스 입니다.

완전관리형 서비스란  서버를 직접 설정하고 패치 및 업데이트를 적용하고 관리하는것을 의미합니다.

 

3. AWS CodeDeploy 란

AWS CodeDeploy 란 AWS EC2, AWS ECS 등 컴퓨팅 시스템에 대한 애플리케이션 배포를 자동화 하여 제공하는

완전 관리형 서비스입니다. CodeDeploy 는 지속적인 배포를 지원하는 대표적인 CD 도구로써 AWS CodeDeploy를 사용하게 되면 기존 운영중인 애플리케이션의 영향을 최소화 하면서 신속하게 배포할 수 있는 기능을 제공합니다.

 

4. AWS CodePipeline 란

CodePipeline 이란 애플리케이션의 변경 내용을 지속적으로 릴리스하는 데 필요한 단계를 자동화합니다.

이미지제공: AWS 공식홈페이지

 

 

 

1. Customers 로부터 새로운 개발에 대한 요청 혹은 Bugs 에 대한 수정 요청을 받습니다.

2. Developers는 요청사항을 반영하여 소스 리포지토리에 변경을 가하게 되면 CodePipeline은 자동으로 변경 내용을 감지합니다.

3. 변경 내용을 빌드하고 테스트를 구성하는 경우에는 그 테스트를 실행합니다.

4. 빌드된 코드를 스테이징 서버로 배포합니다. CodePipeline 은 스테이징 서버에서 통합 또는 로드 테스트와 같은 추가 테스트를 실행합니다. 

5. 파이프라인에 추가한 수동 승인 작업이 승인되면 CodePipeline 은 테스트되고 승인된 코드를 프로덕션 인스턴스에 배포합니다.