Dev Ops/CI-CD

[CI/CD] CI, CD, CI/CD 파이프라인 기본 개념

erinh 2023. 1. 21. 16:09
반응형

CI (Continous Integration, 지속적 통합)

: 빌드/테스트의 자동화 과정을 의미
- 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합됨
- 커밋할 때마다 빌드와 일련의 자동 테스트가 이루어져 동작을 확인하고 변경해 서로 충돌할 수 있는 문제를 해결
- CI/CD 파이프라인의 첫 번째 단계

CD (Continuous Delivery / Deployment)

Continuous Delivery, 지속적 서비스 제공

: 개발자가 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리에 자동 업로드되는 것을 의미
- 운영팀은 이 리포지토리에서 애플리케이션을 실시간 프로덕션 환경으로 배포 가능
- 귀찮은 push 작업 없이 최소한의 노력으로 새로운 코드를 배포하는 것을 목표로 함

Continuous Deployment, 지속적 배포

: 개발자의 변경사항을 리포지토리에서 고객이 사용 가능한 프로덕션 환경까지 자동으로 릴리스하는 것을 의미

- 지속적인 배포 채택시 품질 저하 없이 최대한 빨리 사용자에게 새로운 기능 제공 가능

CI/CD 파이프라인

: 새 버전의 소프트웨어를 제공하기 위해 수행해야 할 일련의 단계

- CI/CD 파이프라인을 자동화함으로써 더 효율적인 개발 환경을 구축할 수 있음
- CI/CD 파이프라인은 조직의 필요에 따라 고유한 파이프라인을 구성하면 됨

CI/CD 파이프라인 요소

① 빌드(Build) : 애플리케이션을 컴파일하는 단계

② 테스트(Test) : 코드를 테스트하는 단계, 이 단계를 자동화하여 시간과 수고를 줄일 수 있음

③ 릴리스(Release) : 애플리케이션을 리포지토리에 제공하는 단계

⓸ 배포(Deploy): 코드를 프로덕션에 배포하는 단계

⓹ 검증 및 컾플라이언스(Validation & Compliance) : 해당 조직의 필요에 따라 결정(품질 검증)

반응형