IT 용어 정리

CI/CD(지속적 통합/지속적 배포)

Kim-Raon 2024. 1. 1. 21:00

 

CI/CD는 지속적 통합(Continuous Integration)과 지속적 배포(Continuous Deployment)의 약자로, 소프트웨어 개발 프로세스를 자동화하고 효율적으로 관리하기 위한 방법론입니다. 이는 소프트웨어를 신속하게 개발, 테스트, 그리고 배포할 수 있도록 하는 개발 방법 중 하나로 널리 사용되고 있습니다.

 

1. 지속적 통합 (Continuous Integration - CI):

   - CI는 개발자들이 코드를 공유 저장소에 통합할 때마다 자동으로 빌드와 테스트를 수행하는 것을 의미합니다.

   - 주기적으로 또는 코드 변경이 발생할 때마다 자동으로 이루어지며, 여러 명의 개발자가 동시에 작업하는 경우 코드 충돌 및 통합 문제를 미리 감지할 수 있습니다.

   - 자동화된 통합 테스트는 코드의 품질을 유지하고 안정성을 향상시킵니다.

 

2. 지속적 배포 (Continuous Deployment - CD):

   - CD는 CI의 확장으로, 코드의 통합과 테스트를 통과한 후에 자동으로 프로덕션 환경으로 소프트웨어를 배포하는 것을 의미합니다.

   - 이를 통해 신규 기능이나 버그 수정과 같은 변경 사항이 실제 사용자들에게 빠르게 제공될 수 있습니다.

   - Continuous Deployment의 경우, 배포 전에 자동화된 테스트 및 QA 과정이 추가로 수행될 수 있습니다.

 

CI/CD 시스템은 주로 다음과 같은 구성 요소로 이루어집니다:

 

- 소스 코드 저장소 (Source Code Repository): 코드의 버전 관리 및 협업을 위한 저장소로, 예를 들어 Git이 사용됩니다.

- 자동화된 빌드 서버 (Build Server): 새로운 코드가 푸시될 때마다 자동으로 빌드를 수행하는 서버입니다. 이를 통해 소스 코드를 실행 가능한 소프트웨어로 변환합니다.

- 자동화된 테스트 환경 (Automated Testing): 빌드된 소프트웨어에 대해 자동으로 실행되는 테스트 스위트가 포함됩니다.

- 배포 파이프라인 (Deployment Pipeline): 소프트웨어를 테스트, 스테이징, 프로덕션 등의 환경으로 배포하기 위한 자동화된 프로세스입니다.

 

CI/CD를 적용하면 팀은 소프트웨어를 신속하게 개발하고 출시할 수 있으며, 품질 관리 및 버그 감지가 빠르게 이루어지므로 소프트웨어의 안정성과 신뢰성을 향상시킬 수 있습니다.

'IT 용어 정리' 카테고리의 다른 글

GIT Commit 메시지  (0) 2024.01.03
IT 표기법 8가지  (0) 2024.01.02