CD/CI(Continuous Integration/Delivery & Deployment)

윤준혁·2024년 2월 24일

CD/CI란?

  • 각각의 개발자들이 개발을 하는 개발 환경을 사용자가 사용 가능한 서비스로 전달하는 모든 과정을 지속 가능한 형태로 또 가능하다면 자동으로 해서 개발자와 사용자 사이의 격차를 없애는 것

왜 필요할까?

  • 혼자가 아닌 수많은 개발자가 코드를 합치고 배포를 계속해서 시스템없이 수동으로 한다면 이런 일이 발생하게 된다
    -> dev 서버에 누가 배포했나요? 제 환경에서 갑자기 안되는데요?
    -> 이 함수 테스트 안하고 배포했나요? 해당 부분에서 에러 뜨는 것 같아요
  • 여러 명의 개발자가 동시에 개발을 하게 될 것이고, 이는 앞과 같은 문제가 발생
  • 이를 수동으로 하나하나 해결할 수는 없음
  • 이를 위해 CD/CI라는 개념이 도래했고, 이를 쉽게 해주는 툴 등이 나오게 됨

파이프라인

  • 코드 구축부터 시작해서 배포까지의 일련의 과정들을 CD/CI 파이프라인이라고 함
  • 총 3가지의 단계로 구성
    1. continuous integration : 코드를 빌드하고 테스트하고 합침
    1. continuous delivery : 해당 레퍼지토리에 릴리스
    2. continuous deployment : 이를 프로덕션, 즉 실제 서비스에 배포

  • github action, jenkins, circle ci가 유명하며 heroku를 통해 CI, CD 설정 없이 자동 가능
  • heroku + github action으로 설정도 가능

0개의 댓글