코딩응애의 개발블로그

코드스테이츠 블로깅 - (CI/CD) 본문

카테고리 없음

코드스테이츠 블로깅 - (CI/CD)

이너멜 2022. 10. 12. 22:17

CI/CD

CI/CD란 간단하게 말해서 어플리케이션 개발 단계부터 배포때까지 모든 단계들을 자동화하여 좀더 효율적이고 빠르게

사용자에게 빈번이 배포할 수 있도록 만드는것

CI(Continuous Integration)

개발자를 위한 자동화 프로세스인 지속적인 통합을 의미 Code - Build - Test 단계에서 사용.

  • Code : 개발자가 코드를 원격 코드 저장소 (Ex. github repository)에 push하는 단계.
  • Build : 원격 코드 저장소로부터 코드를 가져와 유닛 테스트 후 빌드하는 단계.
  • Test : 코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는 지 확인하는 과정.

지속적 통합으로 보안 이슈, 에러 등을 쉽게 파악할 수 있어 해당 이슈를 빠르게 개선할 수 있음

지속적 통합이 적용된 개발팀은 코드를 머지하기 전, 이미 빌드 오류나 테스트 오류를 확인하여 훨씬 더 효율적인

개발을 할 수 있게 됨.

CD(Continuous Delivery 또는 Continuous Deployment)

지속적인 서비스 제공 및/또는 지속적인 배포를 의미 Release - Deploy - Operate 단계에서 사용 

  • Release : 배포 가능한 소프트웨어 패키지를 작성.
  • Deploy : 프로비저닝을 실행하고 서비스를 사용자에게 노출한다. 실질적인 배포 부분.
  • Operate : 서비스 현황을 파악하고 생길 수 있는 문제를 감지.

지속적인 서비스 제공은 배포하는 단계에서 코드에 변경사항들이 릴리즈할 준비과정을 거치고 준비된 릴리즈가 정상인지 직접 개발자나 검진팀이 검진을 한뒤 이제 최종적으로 사용자에게 배포해도 되겠다라고 결정이 되면 수동적으로 배포를 하는 단계(Continuous Delivery)

그에 반해 릴리즈가 준비가 되자마자 자동으로 사용자에게 배포해주는 것을 지속적인 배포(Continuous Deployment)

라고 한다 같은 CD 라도 이렇게 다르다 

 

github action으로 클라이언트 CI/CD를 구축한 배포 링크 : 

http://fe-96-gopowl.s3-website.ap-northeast-2.amazonaws.com  (이 배포 하는데 정말 다사다난 했다..)

액세스 키를 하드코딩해서 한번 큰일 날뻔하고 다시 받은 키로 했는데 안돼서 왜 안될까 계속하다가 build 이름을 잘못써서 그런거였다.. 결국엔 해결완료! 

 

Comments