1 분 소요

CI/CD란?

CI/CD란 무엇일까요?

지속적인 통합(Continuous Integration, CI)지속적인 배포(Continuous Delivery 또는 Continuous Deployment, CD)를 의미합니다.

프론트엔드 개발에서 CI/CD는 주로 코드의 품질을 유지하고, 효율적으로 배포할 수 있도록 돕는 과정으로 사용됩니다.

CI(지속적인 통합)

CI는 개발자가 작성한 코드를 자주, 그리고 자동으로 하나의 코드베이스에 통합하는 과정을 의미합니다.

프론트엔드에선 어떤식으로 지속적인 통합이 이루어 질까?

  • 코드 변경 사항이 버전 관리 시스템에 push되면, 자동으로 빌드 및 테스트가 실행됩니다.

  • 자동화된 테스트(단위 테스트, 통합 테스트 등)를 통해 코드의 버그나 문제를 미리 발견하고 수정할 수 있습니다.

  • 빌드 과정은 코드가 제대로 작동하는지 확인하기 위해, 프론트엔드 애플린케이션이 실제로 실행될 수 있는 상태인지 점검합니다.

    React나 Vue.js와 같은 프레임워크를 사용하는 경우, npm run bulid와 같은 명령어로 빌드 결과물을 생성합니다.

  • 코드가 정상적으로 통합되면, 개발자들이 각자의 로컬 환경에서 발생할 수 있는 충돌을 미리 예방할 수 있습니다.

CD(지속적인 배포/배급)

CD는 CI의 다음 단계로, 자동화된 배포 과정을 의미합니다.

이 과정은 두 가지로 나뉩니다.

  • Continuous Delivery

    코드가 CI 파이프라인을 통과하면 언제든지 실제 운영 환경에 배포될 수 있도록 준비되는 상태입니다. 즉, 모든 코드 변경 사항이 자동으로 검증되고, 수동 승인이 없으면 실제 서비스에 배포될 준비가 된 상태가 됩니다.

    프론트엔드에서는 변경된 코드가 자동으로 테스트 서버나 스테이징 서버에 배포되어, 팀이 확인할 수 있게 됩니다.

  • Continuous Deployment

    배포가 자동으로 이루어지는 단계로, 검증된 코드가 자동으로 운영 환경에 배포됩니다. 즉, 별도의 수동 승인이 없이, 코드가 CI/CD 파이프라인을 통과하면 자동으로 실시간 서비스에 배포됩니다.

    웹 애플리케이션의 새로운 기능이나 버그 수정이 완벽히 테스트되면, 이를 자동으로 실시간 서버에 배포해 바로 사용자들이 사용할 수 있게 합니다.

프론트엔드에서 CI/CD의 장점

  • 버그를 조기에 발견할 수 있습니다.

    코드가 자주 통합되고, 자동화된 테스트가 실행되므로, 버그를 빠르게 발견하고 수정이 가능합니다.

  • 더 빠른 배포가 가능합니다.

    자동화된 배포 과정을 통해 새로운 기능이나 수정 사항을 빠르게 배포할 수 있어서 사용자에게 빠르게 새로운 기능을 제공할 수 있습니다.

  • 팀 협업 효율성이 향상됩니다.

    여러 명의 개발자가 동시에 작업할 때, 코드 충돌이나 버그를 사전에 예방할 수 있어 팀워크가 향상됩니다.

  • 반복적인 작업 자동화가 가능합니다.

    빌드, 테스트, 배포 과정이 자동화되므로 개발자는 중요한 기능 개발에 집중할 수 있습니다.

업데이트:

댓글남기기