AWS #7

MIMO·2023년 7월 10일
0

AWS

목록 보기
7/12
post-thumbnail

Code Commit & Deploy & Pipeline

CI/CD

CI : Continuous integration (지속적인 통합)

CD : Continupus Deployment (지속적인 배포)

CI/CD를 사용하여 코드를 업데이트하고, 새로운 시스템들을 빠르게 사용자들에게 자동으로 배포할 수 있다. 보통 CI/CD는 Github Action을 통해 진행한다.

Code Commit

AWS에서 파일들을 보관하는 저장 장소(레포지토리)이며 github와 매우 유사하다. 동시에 많은 사람들이 저장 장소 접근 및 업데이트가 가능하며 버전 컨트롤 기능도 제공해준다.

Code Deploy

자동 배포를 위한 기능이다. Code Deploy를 통해 새로운 기능들을 빠르게 배포할 수 있으며, 소프트웨어와 서버 다운타임이 존재하지 않는다. 또한, manual 에러가 생기지 않는다는 장점을 가지고 있다. Code Deploy의 종류에는 2가지가 존재한다.

  1. Rolling 배포
  • 100% 코드 중에 75%는 기존 프로덕션, 25%는 배포
  • 100% 코드 중에 50%는 기존 프로덕션, 50%는 배포
  • 100% 코드 중에 25%는 기존 프로덕션, 75%는 배포

위와 같이 점층적으로 배포를 진행하는 프로세스이다.

  1. Blue/Green 배포
  • Blue : 현재 프로덕션
  • Green : 새로 배포하려고 하는 프로덕션

Blue를 완전 셧다운 시키고, Green을 배포하는게 목적인 배포하는 것이다. 위 사진처럼 이전 프로덕션인 Blue를 셧다운 하고, 사용하려고 하는 프로덕션인 Green을 배포한다. 이를 통해 얻는 장점은 이전 버전에 대한 관리를 수월하게 할 수 있다는 것이다.

Code Pipeline

Code Pipeline은 빌드, 테스트, 배포 과정을 관리한다. 코드 변경시 Code Pipeline은 이를 감지하여 위의 과정을 진행한다. 또한, 소프트웨어 및 어플리케이션 출시 자동화를 가능하게 한다.

Code Pipeline의 작동 방법은 위와 같다. 위에서 배운 Commit과 Deploy를 모두 자동화 해주기 때문에 개발자들이 신경써야 할 부분을 줄여준다.

profile
행복한 사람

0개의 댓글