Backend:: CI / CD 란??

jahlee·2023년 10월 12일

Backend공부

목록 보기
11/18

개요

CI/CD는 여러 DevOps 단계를 아우르는 포괄적인 용어이다. CI(지속적 통합)은 코드 변경 사항을 하루에 여러 차례 저장소에 통합하는 방식이다. CD에는 지속적 제공을 통해 코드 통합을 자동화하거나 지속적 배포를 통해 최종 빌드를 최종 사용자에게 자동으로 릴리스한다는 두 가지 의미가 담겨 있다. CI/CD에서 빈번하게 수행되는 테스트로 코드 오류와 결함이 줄어들므로 CI/CD는 모든 DevOps 워크플로에 중요한 역할을 한다.

CI

CI는 개발자들이 하루에 여러 차례 수시로 코드를 공통 코드 저장소에 체크인하는 DevOps 라이프사이클 단계이다. 이런 일이 일어날 때마다 자동화된 빌드 툴이 체크인이나 브랜치를 검증하여 오류가 없는지 확인하므로 제작 단계로 바로 진행할 수 있다. 여기서 얻을 수 있는 주 이점은 일반적으로 문제가 더 심화되기 전에 조기에 발견된다는 점이다.

CD

지속적 제공은 CI 다음에 이루어지며, 이를 최종 제품이 고객에게 출시되거나 배포되기 전에 개발 파이프라인에서 확인하는 체크포인트 단계라고 생각하면 된다. 코드 변경 사항이 검증된 후에는 저장소로 자동 전달된다.
지속적 제공의 목표는 최종 제품이 출시될 준비가 되지 않은 경우 기본 빌드에 업데이트하지 않아도 최종 제품의 '정식으로 제작에 사용 가능' 상태가 유지될 만큼 사소한 체인지 세트는 유지하는 것이다. 최종 제품에 사소한 오류가 있을 수 있으나 사용자 경험을 저해할 만큼 중대한 오류는 아니다.
지속적 제공을 구현하면 처음부터 안정적인 코드만 제공되므로 개발자는 자체적으로 테스트하는 데 소요되는 시간을 단축할 수 있다. 이를 통해 버그 감지 프로세스가 간단해져 해결에 걸리는 시간을 줄일 수 있다.

참조

https://unity.com/kr/solutions/devops-principles#shift-left-cicd

0개의 댓글