CI/CD

zzincode·2025년 2월 12일

Git GitHub

목록 보기
17/17

CI/CD

애플리케이션 배포 과정을 자동화하여 더 짧은 주기로 고객에게 서비스를 제공하는 방식

CI(Continuous Integration) - 지속적 통합

: 개발자들이 코드 변경사항을 주기적으로 메인 브랜치에 병합하는 과정을 자동화한 것

코드 변경사항이 발생할 때마다 자동으로 빌드와 테스트를 수행하여 문제를 조기에 발견할 수 있음

CD(Continuous Delivery/Deployment) - 지속적 전달/배포

: 애플리케이션의 변경사항을 production 환경으로 배포하는 과정을 자동화 한 것 (CI 이후 단계를 자동화하는 것)

  • Continuous Delivery : 배포 가능한 상태로 준비하는 과정까지는 자동화하고 실제 배포는 사람의 승인을 거쳐 수동으로 진행
  • Continuous Deployment : production 환경에 배포하는 과정까지 모두 자동화

협업에서는 GitHub Actions, Jenkins, GitLab CI 등의 도구를 사용하여 CI/CD 파이프라인 구축

  • 개발자가 PR을 올리면 자동으로 테스트/빌드 실행
  • 테스트/빌드를 성공한 경우 메인 브랜치로의 머지 활성화
  • 메인 브랜치 머지 시 production 환경으로 자동 배포

CI/CD 파이프라인

  1. 개발자가 코드를 작은 단위로 기능을 나누어서 주기적으로 메인 레포지토리에 merge
  2. 자동으로 빌드
  3. 테스트 과정
  4. 릴리즈 준비
  5. 수동적으로 또는 자동으로 최종 배포

0개의 댓글