CI/CD란?

snooby·2022년 8월 3일
1

🔫 자잘부리 cs 팁

목록 보기
11/41
post-thumbnail

DevOps에서는 CI/CD가 중요하다.

그럼 CI/CD가 뭘까?

CI/CD란

Continous Integration, Continous Deployment의 약자로, 애플리케이션 개발단계를 자동화하여 애플리케이션 개발을 보다 짧은 주시로 고객에게 제공하는 방법이다.
새로운 코드가 반영될 때 개발, 운영 팀에서 발생하는 문제를 해결해주는 솔루션이다.
CI/CD는 애플리케이션 통합, 테스트, 제공, 배포에 이르는 전체 라이프사이클을 지속적으로 모니터링하고 자동화하여 개발자의 수고스러움을 덜고 코드와 서비스의 안정성을 높여준다.
이러한 전체 흐름을 CI/CD 파이프라인이라고 한다.

  • CI
    Continous Integration 지속적인 통합의 약자로 개발자를 위한 자동화 프로세스이다.
    CI가 구축되나면 애플리케이션 코드 변경사항이 있을 경우 가령 깃헙같은 원격 저장소에 푸쉬하면 자동으로 변경소스를 가지고 빌드/테스트되어 오류를 잡아내고 공유 저장소에 병합되어 여러 개발자가 동시에 개발을 할 경우 생기는 충돌 문제도 해결할 수 있다.
    즉, 테스트를 자동화해주고 코드 신뢰도를 높여준다.

  • CD
    Continous Deployment 지속적인 배포, Continous Delivery 지속적인 서비스 제공의 약자로 앞선 CI에서 애플리케이션 코드 변경사항을 체크하였다면 이러한 테스트를 거친 소스를 저장소에 자동 업로드하는 것을 말하며, 운영팀은 이 저장소 소스를 기반으로 실시간 운영 환경으로 배포할 수 있다. (Continous Delivery 지속적인 서비스)
    개발자의 변경사항을 저장소에서 고객이 사용가능한 운영환경까지 자동으로 릴리지하는 것을 Continous Deployment 지속적인 배포라고 한다. 자동화해주므로 수동으로 개발자가 릴리즈하던 수고스로움과 프로세스 과부하 문제를 해결한다.

CI/CD 툴

Jenkins, GitOps, Travis, Bamboo

이 중 Jenkins가 무료이며 많은 부분 지원을 하여 가장 많이 쓰이는 CI/CD 툴이다.

CI/CD 파이프라인 예시 이미지를 보면 무슨 말인지 이해가 잘 될 것이다.

실제 제가 진행한 파이프라인 예시입니다.
1. 도커와 jenkins, github를 사용한 파이프라인

파이프라인 구성과정 바로가기
2. 도커, 쿠버네티스, jenkins, github를 사용한 파이프라인

파이프라인 구성과정 바로가기

profile
데이터를 가치있게 다루고 싶은 개발자 🐥

0개의 댓글