본문 바로가기

끄적대기

CI/CD : 지속적 통합과 지속적 제공

728x90
반응형

˙CI : Continuous Intergration

 지속적인 통합의 의미로, Application의 새로운 코드 변경 사항에 대하여 정기적인 빌드 및 테스트 과정을 통하여 공유 저장소에 통합되는 것을 의미한다. 횟수 제한에 대한 특별한 사항은 없으며, 하루에 여러 번까지 진행할 수 있다.

 

 CI는 다수의 개발자가 형상관리 툴을 공유하여 사용하는 환경으로 지속적으로 서비스 중인 Application 등의 경우 서비스 및 기능 추가 시마다 버전 업데이트를 진행하게 되는데, 여러 commit 건들에 대한 업데이트를 단위별로 빌드, 병합, 테스트, 릴리즈 관리 등의 과정을 진행하려면 번거로움과 어려움이 따를 수 있기 때문에 자동화된 빌드 및 테스트 과정을 통하여 충돌 등을 방어하는 이점을 가지고 있다.

 

 더불어, MSA(Micro Service Archietecture) 환경을 통하여 기능 추가나 변경 등의 빈번한 작업과 동작 검증 등의 과정에 대하여 기능 충돌 방지 등의 이점을 활용하기 위하여 사용하기도 한다.

 

 즉, 유지보수와 품질 개선에 보다 힘쓰고, 업데이트 기능들에 대한 검증과 릴리즈 관리에 대한 효율성을 높이기 위하여 사용한다.

 

˙CD : Continuous Delivery (Continuous Deployment)

 사용자는 실시간으로 최신 버전의 운영 환경을 제공받아야 한다. 이러한 과정 중에, 언제든지 신뢰 가능한 버전을 유지할 수 있도록 지원하는 부분이다. 해당하는 부분은 유관부서 간의 의사소통을 도와주고 효율성을 높여준다는 이점을 가지고 있다.

 

 즉, 지속적 배포에서는 지속적인 통합을 통하여 빌드한 소스코드를 테스트 가능한 프로토타입 버전으로 생성한 후에, 테스트를 진행하면서 정식 버전으로 배포를 진행할 수 있도록 한다.

728x90
반응형

'끄적대기' 카테고리의 다른 글

Procedure vs Trigger  (0) 2024.06.24
JavaScript 함수 정의 및 종류  (0) 2022.08.03
데이터베이스 정규화와 비정규화  (0) 2022.04.19
데이터베이스 ETL : Extract Transform Load  (0) 2022.04.18
[Chapter 2] React  (0) 2022.03.24