본문 바로가기
etc

CI/CD와 CI/CD 파이프라인

by lvd-hy 2023. 6. 5.
반응형

CI/CD

CI(Continuous Intergration) : 개발자를 위한 자동화 프로세스인 지속적인 통합을 의미

CD(Continuous Delivery, Continuous Deployment) : 지속적인 서비스 제공 또는 지속적인 배포를 의미

CI/CD의 단계

CI (Continuous Intergration, 지속적 통합)

Code - Build - Test 단계

Code : 개발자가 코드를 원격 코드 저장소(ex. github repository)에 push하는 단계

Build : 원격 코드 저장소로부터 코드를 가져와 유닛 테스트 후 빌드하는 단계

Test : 코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는지 확인하는 과정

👻

지속적 통합 과정을 통해 개발자는 버그를 일찍 발견할 수 있고, 테스트가 완료된 코드에 대해 빠른 전달이 가능해지며 지속적인 배포가 가능해진다.

 CD (Continuous Delivery/Deployment, 지속적 서비스 제공/배포)

Release - Deploy - Operate 단계

Release : 배포 가능한 소프트웨어 패키지를 작성

Deploy : 프로비저닝을 실행하고 서비스를 사용자에게 노출 (실질적인 배포)

Operate : 서비스 현황을 파악하고 생길 수 있는 문제를 감지함.

👻

지속적 배포의 경우, 코드 변경 사항의 병합부터 프로덕션에 적합한 빌드 제공에 이르는 모든 단계로, 테스트 자동화와 코드 배포 자동화가 포함된다.

배포 자동화

한 번의 클릭 혹은 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것을 뜻함

필요한 이유

수동적이고 반복적인 배포 과정을 자동화함으로써 시간이 절약된다.

휴먼 에러 (Human Error)를 방지한다. 

CI/CD 파이프라인

파이프라인(Pipeline) : 소스 코드의 관리부터 실제 서비스로의 배포 과정을 연결하는 구조

CI/CD 파이프라인 단계

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

테스트(Test) : 코드를 테스트하는 단계

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

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

규정 준수 및 유효성 검사

👻

구축된 파이프라인은 최신 버전의 소프트웨어 애플리케이션을 업데이트하고 제공하려는 일련의 처리 단계에 걸리는 수동으로 하는 것보다 더 빠르고 안정적이며 효과적으로 줄여주고 CI/CD 인프라와의 호환성과 효율성을 높여준다.

Reference

코드스테이츠

Red Hat

https://www.redhat.com/ko/topics/devops/what-is-ci-cd

 

CI/CD(CI CD, 지속적 통합/지속적 배포): 개념, 툴, 구축, 차이

CI/CD는 애플리케이션의 통합 및 테스트 단계부터 제공 및 배포까지 애플리케이션 라이프사이클 전체에서 지속적인 자동화와 지속적인 모니터링을 제공하는 것을 뜻합니다.

www.redhat.com

반응형

'etc' 카테고리의 다른 글

YAML 개념, 문법  (0) 2023.06.07

댓글