less than 1 minute read

우선 CI/CD란 개발 - 빌드 - 테스트 - 배포까지의 전 과정을 자동화하는 과정을 말한다.

전통적인 개발 프로세스를 살펴보자. 위에서 언급한대로 일반적인 개발의 과정은 다음과 같다. 개발 -> 빌드 -> 테스트 -> 배포 </br > CI/CD가 등장하기 이전에는 위의 각 단계를 모두 수동적으로 처리했기 때문에, 여러 단점들이 존재한다고 생각한다. 대표적으로 개발자가 위와 같은 단계별로 신경쓰고 처리해야 할 것들이 많기 때문에 실직적인 비즈니스 로직에 집중할 수 없다.

CI(Continuous Integration)

  • CI는 지속적 통합으로, 여러 명이 개발을 함께 진행하면서도 지속적으로 통합하면서 관리할 수 있음을 의미한다.

CI의 과정

  1. 모든 팀 내의 개발자가 동일한 저장소에서 작업을 진행한다.
  2. 새로운 변경 사항을 main branch에 commit한다.
  3. 자동화된 툴을 이용해 빌드, 테스트를 수행한다.
  4. (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

Tags:

Categories:

Updated: