CI/CD/CT

freshness·2024년 5월 8일

CI (Continuous Integration)란?

지속적 통합 이라는 뜻으로 개발을 진행하면서도 품질을 관리할 수 있도록 하는 것

여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리할 수 있음을 의미

CI 개념이 있기 전에는 개발 후 배포를 해야만 코드 오류를 확인할 수 있었음

CI 순서

  1. 개발자가 구현한 코드를 기존 코드와 병합한다.
  2. 병합된 코드가 올바르게 동작하고 빌드되는지 검증한다.
  3. 테스트 결과 문제가 있다면 수정하고 다시 1로 돌아간다. 문제가 없다면 배포를 진행한다.

CD(Continuous Deployment)란?

지속적 배포로 프트웨어가 항상 신뢰 가능한 수준에서 배포될 수 있도록 관리하자는 개념

지속적 제공(Continuous Delivery)으로도 사용되며 빌드와 테스트를 거쳐 저장소에 업로드를 하는 것 까지의 개념을 말한다.

CI를 통해 빌드된 소스코드를 테스트 가능한 알파, 베타버전으로 만들어 문제가 있으면 수정하고 배포를 진행한다.

CI / CD 툴

Travis, Jenkins

CT(Countinuous Training)란?

MLops에서 사용되는 개념으로 모델의 지속적인 학습을 말한다.

인공지능 모델이 시간이 지남에 따라 성능이 저하되는 문제가 발생되기 때문에 최근 데이터를 기반으로 재학습을 시켜 성능을 다시 끌어올리는 것

출처


https://tecoble.techcourse.co.kr/post/2021-08-14-ci-cd/

https://mlops-for-all.github.io/docs/introduction/levels/

0개의 댓글