DevOps

[DevOps] CI/CD란?

s_ih_yun 2025. 6. 4. 00:34
728x90

 

 

1. CI (Continuous Integration)

  • 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합
    • 개발자를 위한 자동화 프로세스
    • Code - Build - Test 단계에서 꾀할 수 있다
    • 개발자는 버그를 일찍 발견할 수 있고, 테스트가 완료된 코드에 대해 빠른 전달 가능
    • 코드를 머지하기 전, 이미 빌드 오류나 테스트 오류를 확인하여 훨씬 더 효율적인 개발 가능
  • Code : 개발자가 코드를 원격 코드 저장소 (Ex. github repository)에 push하는 단계
  • Build : 원격 코드 저장소로부터 코드를 가져와 유닛 테스트 후 빌드하는 단계
  • Test : 코드 빌드의 결과물이 다른 컴포넌트와 잘 통합되는 지 확인하는 과정

 

 

2. CD (Continuous Delivery / Deployment)

  • 지속적인 서비스 제공(Continuous Delivery) 및 지속적인 배포(Continuous Deployment)를 의미하며, 두 용어는 상호 교환적으로 사용
    • Release - Deploy - Operate 단계에서 꾀할 수 있다
    • 코드 변경 사항의 병합부터 프로덕션에 적합한 빌드 제공에 이르는 모든 단계
      • 테스트 자동화와 코드 배포 자동화가 포함
    • 운영팀이 보다 빠르고 손쉽게 애플리케이션을 프로덕션으로 배포 가능
    • Example. Github Page
  • Release : 배포 가능한 소프트웨어 패키지를 작성
  • Deploy : 프로비저닝을 실행하고 서비스를 사용자에게 노출 → 실질적인 배포
  • Operate : 서비스 현황을 파악하고 생길 수 있는 문제를 감지
  • 배포 자동화
    • 한번의 클릭 또는 명령어 입력을 통해 전체 배포 과정을 자동으로 진행하는 것
    • 시간 절약 및 휴먼 에러 방지 가능

 

 

3. CI/CD 파이프라인

  • 코드를 빌드, 테스트, 배포하는 단계를 일련의 자동화 단계로 만드는 것
  • 대표적인 도구 : Jenkins, Travis, Github Actions 등

 

3.1. 파이프라인의 대표적인 세 가지 단계

  • 파이프라인은 전체 배포 과정을 여러 단계로 분리하고 순차적으로 실행
    • 필요에 따라 더 세분화되거나 간소화되기도 한다
  1. Source 단계 : 원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우 다음 단계로 전달
  2. Build 단계 : 전달받은 코드를 컴파일, 빌드, 테스트하여 가공하고, 결과물을 다음 단계로 전달
  3. Deploy 단계 : 전달받은 결과물을 실제 서비스에 반영

 

3.2. 파이프라인의 구성 요소

  • Build : 소프트웨어 컴파일
  • Test : 호환성 및 오류 검사
  • Release : 버전 제어 저장소의 애플리케이션 업데이트
  • Deploy : 개발에서 프로덕션 환경으로의 변환
  • Validation & Compliance : 규정 준수 및 유효성 검사

 

 

 

 

 


📌  References

https://www.redhat.com/ko/topics/devops/what-is-ci-cd

https://velog.io/@leejungho9/CICD-%EB%9E%80#%EC%A7%80%EC%86%8D%EC%A0%81-%EB%B0%B0%ED%8F%ACcontinuous-deliverydeployment-cd

 

CI/CD 란

CI/CD 란 CI/CD는 약어로, 몇 가지의 다른 의미를 가지고 있다. CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케

velog.io

 

 

 

 

 

 

 

728x90