소소한개발팁
Published 2023. 6. 12. 21:01
CI/CD 형상관리
반응형

CI/CD(지속적인 통합/지속적인 배포)는 소프트웨어 변경 사항을 빌드, 테스트 및 배포하는 프로세스를 자동화하는 소프트웨어 개발 방식입니다. 이는 소프트웨어의 품질과 안정성을 보장하는 동시에 빈번하고 안정적인 릴리스를 가능하게 합니다. CI와 CD는 관련 개념이지만 이들 사이에는 몇 가지 중요한 차이점이 있습니다.

 

지속적 통합(CI):

CI는 여러 개발자의 코드 변경 사항을 공유 저장소로 통합하는 데 중점을 둡니다.
변경 사항이 저장소에 푸시될 때마다 자동으로 코드를 빌드하고 테스트합니다.
CI의 목표는 개발 주기 초기에 통합 문제를 감지하고 해결하는 것입니다.
CI 워크플로에는 일반적으로 코드 컴파일, 단위 테스트 실행 및 정적 코드 분석과 같은 단계가 포함됩니다.
CI는 문제를 빠르게 식별하고 수정하여 안정적인 코드베이스를 유지하는 데 도움이 됩니다.

 

지속적 배포(CD):

CD는 프로덕션 환경에 대한 소프트웨어 변경 사항의 릴리스 및 배포를 자동화하여 CI를 넘어섭니다.
소프트웨어 변경 사항을 최종 사용자에게 원활하게 전달하기 위해 배포 파이프라인을 자동화하는 작업이 포함
CD 워크플로에는 일반적으로 배포 가능한 아티팩트 구축, 추가 테스트(예: 통합 테스트, 승인 테스트) 실행, 스테이징 또는 프로덕션 환경에 배포와 같은 단계가 포함됩니다.
CD의 목표는 사용자에게 새로운 기능, 버그 수정 및 개선 사항을 빠르고 안정적으로 제공하는 것입니다.
CD는 빈번한 릴리스를 가능하게 하여 코드 변경과 최종 사용자의 가용성 사이의 시간을 줄입니다.


요약하면 CI는 코드 변경 사항을 통합하고 테스트하는 데 중점을 두는 반면 CD는 변경 사항을 테스트하고 프로덕션에 릴리스하는 것을 포함하여 전체 배포 프로세스를 자동화하여 CI를 확장합니다. CI와 CD는 소프트웨어 제품의 품질, 협업 및 효율적인 전달을 보장하기 위한 최신 소프트웨어 개발 워크플로에서 매우 중요합니다.

반응형
profile

소소한개발팁

@개발자 뱅

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!