CI/CD

이재홍·2022년 7월 1일
0

https://jud00.tistory.com/entry/CICD%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C

CI/CD란?

애플리케이션 개발 단계부터 배포 때까지의 모든 단계를 모든 단계를 자동화를 통해서 더 효율적이고 빠르게 사용자에게 빈번히 배포할 수 있는 것을 말한다.

개념만을 두고보면 자동화와 직접적으로 관련이 있지는 않음.
그럼에도 자동화라는 키워드는 CI/CD 라는 단어에 거의 항상 붙어다닌다.
🧚‍DevOps 엔지니어의 핵심업무라고도 불린다!

CI (Continuous Integration)

지속적인 통합! 이라는 의미
성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 돼서 공유 레포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결가능

CD (Continuous Delivery)

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

두 가지 의미 모두 파이프라인의 추가단계에 대한 자동화를 뜻한다.
때로는 얼마나 많은 자동화가 이루어지고 있는지를 섦여하기 위해 별도로 사용되기도함

개발자들이 애플리케이션에 적용한 변경 사항이 버그 테스트를 거쳐 레포지토리에 자동으로 업로드되는 것을 뜻함.
운영팀은 이 레퍼지토리에서 애플리케이션 실시간 프로덕션 환경으로 배포가능하다.
개발팀과 비즈니스팀 간의 가시성과 커뮤니케이션 부족 문제를 해결해 줄 수 있다.

품질 저하 없이 최대한 빠르게 사용자에게 새로운 기능을 제공할 수 있다.

CD는 간단한 코드 변경이 정기적으로 마스터에게 커밋되고, 자동화된 빌드 및 테스트 프로세스를 거치며 다양한 사전 프로덕션 환경으로 승격되며, 문제가 발견되지 않으면 최종적 배포단계를 거친다!

CI / CD의 종류

Jenkins
CircleCI
TravisCI
Github Actions
etc

0개의 댓글