CI/CD란
우선 CI/CD란 개발 - 빌드 - 테스트 - 배포까지의 전 과정을 자동화하는 과정을 말한다.
전통적인 개발 프로세스를 살펴보자. 위에서 언급한대로 일반적인 개발의 과정은 다음과 같다. 개발 -> 빌드 -> 테스트 -> 배포 </br > CI/CD가 등장하기 이전에는 위의 각 단계를 모두 수동적으로 처리했기 때문에, 여러 단점들이 존재한다고 생각한다. 대표적으로 개발자가 위와 같은 단계별로 신경쓰고 처리해야 할 것들이 많기 때문에 실직적인 비즈니스 로직에 집중할 수 없다.
CI(Continuous Integration)
- CI는 지속적 통합으로, 여러 명이 개발을 함께 진행하면서도 지속적으로 통합하면서 관리할 수 있음을 의미한다.
CI의 과정
- 모든 팀 내의 개발자가 동일한 저장소에서 작업을 진행한다.
- 새로운 변경 사항을 main branch에 commit한다.
- 자동화된 툴을 이용해 빌드, 테스트를 수행한다.
- (3)의 과정이 정상적으로 끝났다면 배포를 위한 다음 단계로 넘어간다.
CI의 4가지 핵심 요소
1. 버전 관리 시스템의 도입 2. 자동화된 빌드 스크립트 3. 자동화된 테스트 **4. 빌드 및 테스트를 실행할 **
CD(Continuous Deployment)
- 지속적 배포는 CI 과정을 거쳐 산출된 빌드 결과물을 배포하는 작업을 자동화하는 것을 말한다.
DevOps Tools
CI/CD에 적용하기 위해서는 다양한 도구들을 이용해서 적용할 수 있다.
references
https://www.jetbrains.com/ko-kr/teamcity/ci-cd-guide/continuous-integration/ http://career.programmers.co.kr https://harness.io/blog/continuous-delivery-tools