본문 바로가기
BACKEND/DevOps

220628 화 CI / CD 개념

by 또야또야 2022. 6. 28.
반응형

CI / CD 개념

지속적인 소프트웨어 개발 방법을 통해 반복적인 코드 변경 사항을 지속적으로 구축, 테스트 및 배포할 수 있습니다. 이러한 반복 프로세스는 버그가 있거나 이전 버전을 기반으로 새 코드를 개발할 가능성을 줄이는 데 도움이 됩니다. CI / CD 를 사용하면 개발 부터 배포까지 사람의 직접적인 개입을 줄이거나 전혀 개입이 없어도 됩니다.

  • CI (Continuous Integration)
  • CD (Continuous Delivery)
  • CD (Continuous Deployment)

CI (Continuous Integration)

개발자는 매일, 하루에 여러 번 코드 변경을 푸시합니다.

repository 로 커밋을 푸시할 때마다 응용 프로그램을 자동으로 빌드하고 테스트하는 스크립트 집합을 만들 수 있습니다. 이러한 스크립트를 사용하면 응용프로그램에 오류가 발생할 가능성을 줄일 수 있습니다.

이러한 과정을 CI (Continuous Integration), 지속적 통합 이라고 합니다.

추가된 변경사항뿐 아니라, 개발 브렌치에서도 자동적, 지속적으로 구축되고 테스트 할 수 있습니다.
이러한 테스트는 변경사항을 모두 테스트하여 코드 표준이나 에러가 없는지를 확인합니다.

GitLab/GitHub 자체가 소프트웨어 개발 방법으로 지속적인 통합을 사용하는 프로젝트의 한 방법이고, 프로젝트를 푸시할 때마다 코드에 대해 일련의 검사가 실행됩니다.

CD (Continuous Delivery)

CD (Continuous Delivery), 지속적인 제공은 CI를 넘어서는 한 단계입니다. 코드 변경이 코드베이스에 푸시될 때마다 애플리케이션이 빌드되고 테스트될 뿐만 아니라 지속적으로 배포됩니다. 배포를 수동으로 설정할 수도 있습니다.

CD 는 코드를 자동으로 확인하지만 변경사항 배포를 수동적으로 설정하기 위해서는 사용자의 개입이 필요합니다.

CD (Continuous Deployment)

CD (Continuous Deployment), 지속적 배포 는 CD (Continous Delivery) 와 비슷한 작업입니다.

차이점은 애플리케이션을 수동으로 배포한다는 것 대신에, 자동으로 배포를 설정할 수 있다는 것입니다. 사람의 개입은 필요하지 않습니다.


출처

반응형

댓글