개발

CI/CD의 개념 요약

bread.iknow 2022. 9. 19. 16:06

 

 개발자가 코드를 수정한 이후, 빌드/테스트/배포 자동화를 하는 과정을 구축하고자 합니다.

 

📘 CI/CD 개념


  • 개발 단계를 자동화하여 짧은 주기로 배포가 가능하도록 하기 위한 방법입니다.
  • 새로운 코드를 통합할 때 발생하는 충돌문제를 해결하기 위한 방법입니다.
  • 통합/테스트 단계의 전체적인 생명주기에 지속적인 자동화와 모니터링을 제공합니다.
  • 애자일 방식에 적합합니다.

- 파이프라인으로 표현되는 실제 프로세스

- 지속적인 자동화 및 지속적인 모니터링 추가


  1. Continuous Integration (지속적인 통합)
    1. 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합됩니다.
    2. 여러 명의 작업자가 동시에 관련한 코드 작업을 하더라도 충돌 문제는 해결됩니다.
  2. Continuous Delivery (지속적인 전달)
    1. 적용한 변경 사항이 버그 테스트를 거쳐 리포지토리에 자동으로 업로드 되는 것을 말합니다.
    2. 이 리포지토리에서 실시간 프로덕션 환경으로 배포가 가능합니다.
    3. 최소한의 노력으로 새로운 코드를 배포하는 것을 목표로 합니다.
  3. Continuous Deployment (지속적인 배포)
    1. 변경 사항을 리포지토리에서 프로덕션 환경까지 자동으로 릴리즈하는 것을 말합니다.
    2. 파이프라인의 다음 단계를 자동화합니다.
    3. 수동 프로세스로 인한 프로세스 과부하 문제를 해결할 수 있습니다.
 

[참고 자료]

https://docs.gitlab.com/ee/ci/

 

GitLab CI/CD | GitLab

Learn how to use GitLab CI/CD, the GitLab built-in Continuous Integration, Continuous Deployment, and Continuous Delivery toolset to build, test, and deploy your application.

docs.gitlab.com

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

 

CI/CD(지속적 통합/지속적 제공): 개념, 방법, 장점, 구현 과정

CI/CD는 애플리케이션의 통합 및 테스트부터 제공 및 배포까지 전체 라이프사이클에서 지속적인 자동화와 모니터링을 제공합니다. 개념, 차이점, 학습방법(인강)을 보세요.

www.redhat.com