프로필사진
DevOps 부트캠프 기록일지
DevOps_04_김재환
02_Study(CI/CD)
02_Study(CI/CD)

2023. 3. 8. 13:29부트캠프/DevOps (TIL)

CI/CD 파이프라인 일련의 단계

CI/CD란?

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

CI란?

  • CI는 DevOps 베스트 프랙티스이자 개발자들이 하루에 여러 차례 수시로 코드를 공통 코드 저장소에 체크인하는 DevOps 라이프사이클 단계입니다. 이런 일이 일어날 때마다 자동화된 빌드 툴이 체크인이나 브랜치를 검증하여 오류가 없는지 확인하므로 제작 단계로 바로 진행할 수 있습니다. 여기서 얻을 수 있는 주 이점은 일반적으로 문제가 더 심화되기 전에 조기에 발견된다는 점입니다.
  • CI를 구현하면 소요 시간이 긴 중대한 업데이트가 아닌 사소한 변경 사항을 단기간에 통합할 수 있습니다. 테스트, 병합, 공통 저장소에 변경 사항 체크인 작업 워크플로를 자동화하면 팀이 더욱 신속히 깔끔한 코드를 제공할 수 있습니다. 깔끔한 코드를 통해 빠르게 검증하고, 보다 깔끔한 릴리스를 제공하고, 확장이 용이한 개발 파이프라인의 효율성을 향상할 수 있습니다.

CD란?

  • CD는 간단히 말하면 배포 자동화 과정입니다. CD는 지속적인 서비스 제공(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment)를 의미하며 이 두 용어는 상호 교환적으로 사용됩니다. 두 가지 의미 모두 파이프라인의 추가 단계에 대한 자동화를 뜻하지만 때로는 얼마나 많은 자동화가 이루어지고 있는지를 설명하기 위해 별도로 사용되기도 합니다.
  • 지속적 배포는 빌드, 테스트 및 배포 단계를 자동화하는 DevOps 방식을 논리적 극한까지 끌어 올립니다. 코드 변경이 파이프라인의 이전 단계를 모두 성공적으로 통과하면 수동 개입 없이 해당 변경 사항이 프로덕션에 자동으로 배포됩니다. 지속적 배포를 채택하면 품질 저하 없이 최대한 빨리 사용자에게 새로운 기능을 제공할 수 있습니다.
  • 지속적 배포는 또한 성숙하고 입증된 지속적 통합 및 지속적인 전달 단계를 기반으로 합니다. 간단한 코드 변경이 정기적으로 마스터에 커밋되고, 자동화된 빌드 및 테스트 프로세스를 거치며 다양한 사전 프로덕션 환경으로 승격되며, 문제가 발견되지 않으면 최종적으로 배포됩니다. 강력하고 신뢰할 수 있는 자동화 배포 파이프라인을 구축하면 하루에도 여러 번 이루어지는 릴리스가 특별하지 않은 일상이 됩니다.

'부트캠프 > DevOps (TIL)' 카테고리의 다른 글

02_Study(분산 시스템)  (0) 2023.03.08
02_Study(수직 확장 vs 수평 확장)  (0) 2023.03.08
02_Study(DevOps)  (0) 2023.03.08
01_Study_3  (0) 2023.03.07
01_Study_2  (0) 2023.03.07