Skip to content

[BE] CI CD

msjang4 edited this page Nov 10, 2023 · 1 revision

CI/CD

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

  • 개발시 코드 변경을 가능한 작은 단위로 주기적으로 빈번한 통합이 중요함 그러나 코드 변경 시 매번 빌드 및 테스트를 해야하는 번거로움이 있고 이를 자동화 하는 것이 CI
    • 테스트 : PR시 테스트 Pass인 경우에만 Approval
    • Lint : PR시 Lint 체크 후 Approval

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

  • Continuous Delivery라고도 하는데 Deploy에 비해 좀 더 수동적인 경우를 부르는 듯함

배포과정 예시

image
  1. 개발자가 main 브랜치에 merge한다
  2. Github Actions에서 CI( build, test, lint) 후 docker 이미지를 구워서 docker hub에 올린다 (CD) 클라우드 사용시 docker hub 대신 container Registry를 사용한다.
  3. Delivery의 경우 수동으로 Server에서 docker hub로부터 이미지 pull 후 실행한다 Deploy의 경우 Github Actions가 Server에게 이미지 Publish여부를 알려줘서 자동화 된다.

CI/CD 툴 비교

  • Github Actions
  • Jenkins

👪 남녀노소 Tech Blog

🤔 우리는 왜 이런 선택을 했는가?

🗣 Ground Rule

💃 MoveMove

🌱 Daily Scrum

1주차
2주차
3주차
4주차
5주차
6주차

✏️ MoveMove 개발 일지

김민조

장지호

조준장

장민석

하채리

🐣 개인회고

김민조
장지호
조준장
장민석
하채리

🐥 팀회고

Clone this wiki locally