Search
Duplicate

21. CI/CD

Created
2024/01/19 00:37
Tags
유민아 ⇒ CI/CD는 개발부터 배포에 이르는 모든 단계를 자동화하는 것을 의미하며, 일련의 과정을 CI/CD 파이프라인이라고 부릅니다. 코드에서 발생하는 버그를 발견하고 코드 테스트가 자동화되므로 배포 간격이 짧아진다는 점과 매 작업마다 테스트가 진행되어 버그를 초기에 발견하고 해결할 수 있는 등의 장점이 있습니다. 대표적인 툴로는 Github actions와 Jenkins가 있습니다.
김민선
⇒ CI/CD는 지속적 통합(Continuous Integration) 및 지속적 배포(Continuous Deployment)의 약자로, 소프트웨어 개발 및 배포 프로세스를 자동화하고 지속적으로 진행하는 개발 방법론을 의미합니다.
1.
지속적 통합 (Continuous Integration - CI):
목적: 개발자들이 작성한 코드가 공유 저장소에 통합될 때마다 자동으로 빌드 및 테스트를 수행하여 통합 오류를 조기에 발견하고 해결하는 것을 목표로 합니다.
동작 과정: 코드 변경이 공유 저장소(예: Git)에 푸시될 때, CI 서버는 자동으로 빌드하고 테스트를 실행하여 통합 문제를 감지합니다.
2.
지속적 배포 (Continuous Deployment - CD):
목적: CI 후에 테스트를 통과한 코드를 자동으로 프로덕션 환경에 배포하는 것을 목표로 합니다.
동작 과정: 통합된 코드가 테스트를 통과하면, CD 파이프라인은 자동으로 배포 스크립트를 실행하여 프로덕션 서버에 변경 사항을 반영합니다.
3.
지속적 제공 (Continuous Delivery - CD, 일부에서 CI/CD로 통칭):
목적: CI와 CD의 개념을 포괄하는 용어로, 지속적으로 소프트웨어를 제공할 수 있는 환경을 구축하는 것을 의미합니다.
동작 과정: 지속적으로 빌드, 테스트, 배포하는 프로세스를 구성하여 효율적이고 안정적인 소프트웨어 제공을 가능하게 합니다.
장점:
빠른 피드백: 변경사항이 통합되면 즉시 빌드 및 테스트를 수행하여 개발자에게 빠른 피드백을 제공합니다.
자동화: 반복적이고 일상적인 작업들을 자동화하여 오류 가능성을 줄이고 일관성을 유지합니다.
신속한 배포: 변경사항이 검증되면 자동으로 프로덕션 환경에 배포하여 신속하게 소프트웨어를 제공합니다.
CI/CD는 효율적인 개발 및 배포 프로세스를 구축하여 소프트웨어의 품질을 향상시키고 개발 주기를 단축하는 데 기여합니다.
박준영
CI/CD는 소프트웨어 개발의 지속적 통합과 배포를 위한 프로세스입니다.
CI (Continuous Integration, 지속적 통합): 개발자들이 코드를 주기적으로 중앙 리포지토리에 통합하고, 자동으로 빌드 및 테스트를 수행하여 품질을 유지하는 과정입니다. CD (Continuous Delivery/Deployment, 지속적 전달/배포): 지속적 전달: 테스트를 거친 코드를 프로덕션 환경에 배포할 준비를 의미하며, 실제 배포는 수동으로 이루어질 수 있습니다. 지속적 배포: 모든 변경 사항이 자동으로 테스트를 통과하고 프로덕션 환경에 바로 배포됩니다. CI/CD는 코드 품질을 유지하고, 빠른 배포를 가능하게 하여 소프트웨어 개발의 효율성을 높입니다.
김한신
CI/CD는 "지속적 통합/지속적 배포"를 나타냅니다. CI는 코드 변경 사항을 빈번하게 통합해 전반적인 코드 품질을 검증하는 과정입니다. CD는 이후에 코드를 자동으로 배포하여 신속하게 사용자에게 제공하는 과정입니다. 이렇게 함으로써 팀은 빠른 피드백과 안정적인 배포를 실현할 수 있습니다. CI/CD를 도입하면 개발 프로세스가 효율적으로 운영되어 개발자는 더욱 생산적으로 일할 수 있습니다.