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. 파이프라인의 대표적인 세 가지 단계
- 파이프라인은 전체 배포 과정을 여러 단계로 분리하고 순차적으로 실행
- 필요에 따라 더 세분화되거나 간소화되기도 한다
- Source 단계 : 원격 저장소에 관리되고 있는 소스 코드에 변경 사항이 일어날 경우 다음 단계로 전달
- Build 단계 : 전달받은 코드를 컴파일, 빌드, 테스트하여 가공하고, 결과물을 다음 단계로 전달
- Deploy 단계 : 전달받은 결과물을 실제 서비스에 반영
3.2. 파이프라인의 구성 요소
- Build : 소프트웨어 컴파일
- Test : 호환성 및 오류 검사
- Release : 버전 제어 저장소의 애플리케이션 업데이트
- Deploy : 개발에서 프로덕션 환경으로의 변환
- Validation & Compliance : 규정 준수 및 유효성 검사
📌 References
https://www.redhat.com/ko/topics/devops/what-is-ci-cd
CI/CD 란
CI/CD 란 CI/CD는 약어로, 몇 가지의 다른 의미를 가지고 있다. CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케
velog.io
728x90