CI / CD란?

김세빈·2025년 4월 8일

CS

목록 보기
5/22

🛠 CI/CD 개념 정리

개발을 하다 보면 코드를 짜는 것만큼이나 중요한 게 있습니다. 바로 코드를 합치고, 배포하는 과정입니다.
많은 개발자들이 동시에 작업하다 보면, 검증되지 않은 코드가 실수로 배포될 수도 있고, 에러가 발생할 가능성도 높아집니다.

이런 문제들을 해결하기 위해 등장한 개념이 바로 CI/CD 입니다.


🔁 CI/CD란?

CI/CD는 다음의 약자입니다:

  • CI (Continuous Integration) : 지속적인 통합
  • CD (Continuous Delivery / Deployment) : 지속적인 전달 / 배포

즉, 코드를 빌드하고 테스트한 후, 안정적으로 병합하고, 자동으로 배포하는 일련의 과정을 파이프라인으로 구성한 것이 바로 CI/CD입니다.

📌 CI (지속적인 통합)

  • 팀원들이 짠 코드를 하나의 리포지토리에 통합하는 과정
  • 이때 자동으로 빌드와 테스트가 실행됩니다.
  • 버그를 조기에 발견할 수 있고, 안정적인 병합이 가능해집니다.

📌 CD (지속적인 전달 / 배포)

  • Continuous Delivery: 테스트가 끝난 코드를 릴리즈 브랜치까지 자동으로 올림
  • Continuous Deployment: 아예 프로덕션(실서비스)까지 자동으로 배포함

🧱 빌드란?

처음엔 빌드라는 개념이 참 낯설었습니다.
예를 들어 Vue 파일(.vue)은 브라우저에서 바로 실행이 안 되기 때문에 HTML / CSS / JS 파일로 바꿔주는 게 바로 빌드입니다!

대표적인 빌드 도구: Webpack


🧪 테스트와 머지(Merge)

CI 파이프라인에서는 테스트 코드 실행을 자동화할 수 있습니다.
테스트는 보통 작은 단위의 함수나 기능을 검증하는 ‘단위 테스트’를 의미합니다.

그리고 코드 통합, 즉 merge(머지)는 협업에서 아주 중요합니다.

  • 머지를 잘 하려면 충돌(conflict)을 줄이는 게 핵심입니다.
  • 최대한 작은 단위의 이슈로 나눠서 머지해야 합니다
  • 충돌이 났다면, 서로 화면 공유하면서 함께 해결하는 게 최선입니다.

🚀 배포는 어디까지?

배포는 단순히 사용자용 서비스뿐만 아니라

  • QA 서버
  • 관리자 페이지

까지 포함합니다.

대표적인 배포 도구는 아래와 같습니다:

  • GitHub Actions
  • Jenkins
  • Circle CI

0개의 댓글