AWS - Code Commit & Code Deploy & Code Pipeline

강채희·2021년 5월 24일
0
post-thumbnail

[11-1] CI / CD

CI : Continuous Integration (지속적인 통합) - 중앙 레포지터리에 올림(개발자의 충돌을 막아줌)
CD : Continuous Deployment (지속적인 배포) - 사용자들의 불편함을 막기위해 개발자들이 도입함 / 자동화가 진행됨
장점 : 자동화 시스템 (Automation) - 테스트 / Incremental Change

CI/CD - 중앙 리포지토리(Repository)

  • Github
    -> CI/CD를 도입해 프로그램 실행이 가능
    -> Local(Local에서 실행됨) & Master branch(Production에서 실행됨)

배포준비 및 배포
● 배포 준비 ; 코드를 병합 (준비과정) , CI/CD덕분에 자동화가 가능함
● 배포

[11-2] Code Commit

Code Commit

  • 파일들을 보관하는 저장 장소 (Repository) - Github과 매우 유사
    ❏ 코드, 사진, 라이브러리, 등등…
  • 동시에 많은 사람들이 저장 장소 접근 및 업데이트 가능
  • 버전 컨트롤 기능 제공
    예) 언제 어떻게 누가 저장 장소 내용을 변경하였는지

[11-3] Code Commit 실습

레포지터리 생성
ssh는 Root에서 사용할 수 없다 -> IAM에서 새로운 user를 만들고 사용할 수 있음

브랜치 생성 -> 브랜치는 로컬의 복사본이 됨

풀 요청 생성 - 충돌? local의 내용이 branch 수정 후 바뀜

[11-4] Code Deploy

자동 배포(Automated Deployment)

  • 새로운 기능들의 빠른 배포
  • 소프트웨어 & 서버 다운타임 X
  • Manual 에러 X

● Rolling 배포; 현재 production에서 돌아가는 코드에 새로운 기능을 적용하고 싶을때
하나의 ELB로 묶여서 사용(서버의 부하를 줄이는 역할)
-> 이전 버전으로 돌아가는 것은 힘듦(해결?Blue/Green 배포방식)
-> 그러나 맨 처음 배포를 할때는 Rolling배포를 사용해야함

● Blue/Green 배포; blue-현재 production / green-새로운 production

[11-5] Code Deploy 실습 - 1

역할 우선 만들기

[11-6] Code Deploy 실습 - 2

IAM에서 사용자 생성

[11-7] Code Pipeline

->CI/CD의 끝판왕

  • 빌드 테스트 배포 과정을 관리
    ○ 코드 변경시 은 이를 감지할 수 있음
  • 소프트웨어 및 어플리케이션 출시 자동화 가능
    ○ 빠르고 쉬운 디버깅을 가능케 해줌

배포(Deployment) vs 출시(Release)
배포를 거쳐 출시를 하게되는것

Code Pipeline 작동 방법

느낀점 - 팀 프로젝트를 할때 git에서 팀원들과 함께 플젝을 진행한 경험이 있었는데 그게 CI와 CD덕분 이라는 점을 새롭게 알게 되었다. 기술적인 측면에서의 github의 기술을 알 수 있어 유익했다.
aws강의를 모두 끝마쳤다. 원래 알고 있던 내용을 aws측면에서 알 수 있어서 의미가 있었다. 다만 아직까지도 이해가 어려운 부분이 존재해 강의를 계속 반복하고 실습도 여러번 반복해야겠다는 생각을 하게 되었다. 더 많은 공부를 해서 응용된 학습을 하고싶다.

0개의 댓글