CI/CD를 사용하여 코드를 업데이트하고, 새로운 시스템들을 빠르게 사용자들에게 자동으로 배포할 수 있다. 보통 CI/CD는 Github Action을 통해 진행한다.
AWS에서 파일들을 보관하는 저장 장소(레포지토리)이며 github와 매우 유사하다. 동시에 많은 사람들이 저장 장소 접근 및 업데이트가 가능하며 버전 컨트롤 기능도 제공해준다.
자동 배포를 위한 기능이다. Code Deploy를 통해 새로운 기능들을 빠르게 배포할 수 있으며, 소프트웨어와 서버 다운타임이 존재하지 않는다. 또한, manual 에러가 생기지 않는다는 장점을 가지고 있다. Code Deploy의 종류에는 2가지가 존재한다.
위와 같이 점층적으로 배포를 진행하는 프로세스이다.
Blue를 완전 셧다운 시키고, Green을 배포하는게 목적인 배포하는 것이다. 위 사진처럼 이전 프로덕션인 Blue를 셧다운 하고, 사용하려고 하는 프로덕션인 Green을 배포한다. 이를 통해 얻는 장점은 이전 버전에 대한 관리를 수월하게 할 수 있다는 것이다.
Code Pipeline은 빌드, 테스트, 배포 과정을 관리한다. 코드 변경시 Code Pipeline은 이를 감지하여 위의 과정을 진행한다. 또한, 소프트웨어 및 어플리케이션 출시 자동화를 가능하게 한다.
Code Pipeline의 작동 방법은 위와 같다. 위에서 배운 Commit과 Deploy를 모두 자동화 해주기 때문에 개발자들이 신경써야 할 부분을 줄여준다.