본문 바로가기
카테고리 없음

[CI/CD] CI/CD 란?

by SIXXXX_ 2024. 2. 28.
728x90

CI/CD 란 ? 

지속적 통합(Continuous Integration) 및 지속적 제공, 배포 ( Continuous Delivery, Deployment) 를 의미하고 소프트웨어 개발 라이프사이클을 간소화하고 가속화하는 것을 목표로 한다.

CI는 코드 변경 사항을 공유 소스 코드 리포지토리에 자동으로 자주 통합하는 사례를 나타낸다.

CD는 코드 변경 사항의 통합, 테스트, 제공을 나타내는 프로세스로 두가지 부분으로 구성된다.

지속적 제공이란 자동 프로덕션 배포 기능이 없는 반면 지속적 배포는 업데이트를 프로덕션 환경에 자동으로 릴리스 한다.

CI/CD 파이프라인

 

개발팀과 운영팀이 DevOps 또는 SRE 를 통해 애자일 방식으로 협력하여 이를 지원한다.

 

중요한 이유 ? 

버그 및 코드 오류를 예방하는 동시에 지속적인 소프트웨어 개발 및 업데이트 주기를 유지하는데 도움이 된다.

애플리케이션이 커짐에 따라 CI/CD 의 기능을 활용하면 복잡성을 줄이고 효율성을 높이면 워크플로우를 간소화 할 수 있다.

 

 

우리가 쓰는 CI/CD 툴들은? 

- 채용공고에선 주로 Jenkins를 많이 보긴 했다. 프로젝트용으로는 GitLab을 많이 봤고.

 

DevOps의 기본 툴은 CI/CD 프로세스에 속해 있을 가능성이 높습니다. 

구성 자동화(예: Ansible, Chef, Puppet), 컨테이너 런타임(예: Docker, rkt, cri-o), 컨테이너 오케스트레이션(쿠버네티스)을 위한 툴은 엄밀하게는 CI/CD 툴이 아니지만 많은 CI/CD 워크플로우에 표시됩니다.

 

 

 

 

Reference

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

 

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

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

www.redhat.com