본문 바로가기
개발공부 개발새발/CICD

CI/CD ) CI/CD 가 뭘까

by 휴일이 2024. 5. 10.

CI/CD

개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 DevOps 소프트웨어 개발 방식

CI → 빌드 및 유닛 테스트 단계를 지칭한다. 수정 버전이 커밋 될 때마다. 자동화된 빌드 및 테스트가 트리거된다.

CD → 배포 단계를 뜻한다. 

 

 

 

 

→ 여기에서 첫 번째 화살표 Continous-Intergration 가 CI 단계를 뜻한다.

  • 보통 로컬 워크스테이션에 소스 코드가 있음.
  • 그걸 Wetson control 시스템으로 커밋한다. (왓슨 제어 시스템 : 소스 코드 관리 시스템)
    • 이번엔 Git 을 사용해본당.
  • 코드가 SourceControl 단계에서 사용 가능해지면, 자동으로 코드를 빌드하고 단위 테스트를 실행한다.
  • CI 과정을 통해 소스 코드를 빌드하거나 컴파일해 아티팩트를 생성하고 아티팩트를 스테이징 환경에 배포한다.
  • 스테이징 환경에서는 성능테스트/회귀테스트 진행.
  • 테스트가 완료되면 프로덕션 환경에 배포 가능. 이 때 어떤 수동적인 개입이 없이 모든 과정이 자동으로 진행된다면 → Continue Deployment
    • 수동 중재(직접 승인)가 필요한 경우 → Continous Delivery
  • 빌드, 테스트, 배포 자동화를 CI/CD 라고 부른다.

 

→ 빌드 테스트 (CI) | 배포 (CD)

  • git 에서 코드 커밋
  • Jenkins 가 github 에서 pull code
    • maven 으로 빌드하고
    • tomcat 으로 배포

 

728x90