본문 바로가기

FrontEnd

CD와 CI

CI (Continuous Integration, 지속적 통합)

CI는 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경사항을 중앙 레포지토리에 정기적으로 병합하는 방식입니다.  여러명의 개발자가 어플리케이션의 각기다른 기능을 동시에 작업하는 것을 목표로 합니다.

 

물론 기존에도 github과 같이 같은 레포지토리에 여러명이 각기 다른 어플리케이션의 기능을 만들다가 조직이 정한 한날에 모두모여 병합을 시도하면 각자 기능의 변경사항에 따라 충돌할 수 있습니다. CI는 빌드 및 테스트를 자동화 해주어 이러한 충돌을 방지해줍니다.

 

CI의 동작예시

 

  1. 개발자는 자신의 로컬에서 코드를 수정하고 github에 push를 했다.
  2. CI도구에서 변경된 코드에 대한 빌드와 테스트를 수행하고 그결과를 피드백 해준다.

빌드 & 테스트에 이상이 있는 경우 → 실패 : 통합불가

빌드 & 테스트에 이상이 없는 경우 → 성공 : 통합가능

 

 

 

CI의 이점

 

  • 개발 생산성 향상
    • 지속적 통합을 사용하면 수동작업에 대한 부담을 덜고 오류 및 버그를 줄여 팀 생산성을 높인다.
  • 버그의 조기발견과 해결
    • 테스트를 빈번하게 수행함으로서 버그를 조기발견 할수 있다.
  • 업데이트를 더 빠르게 제공

 


CD(Continuous Delivery/Deploy, 지속적 전달/배포)

CD는 배포를 수동으로 하느냐 자동으로하느냐에 다라 2가지로 나뉜다.

 

  • 지속적 전달 : 프로덕션 배포를 위한 상태가 되고 배포 자체는 수동으로 실행한다.
    • 개발팀과 비즈니스팀간의 커뮤니케이션 부족 문제를 해결한다.
  • 지속적 배포 : 프로덕션까지 자동으로 배포한다.
    • 어플리케이션의 제공 속도를 증가시킨다.

CI/CD를 위한 도구로는 Jenkins, TravisCI등이 있다.

 

참고

 

aws.amazon.com/ko/devops/continuous-integration/

 

지속적 통합이란 무엇입니까? – Amazon Web Services

지속적 통합은 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 데브옵스 소프트웨어 개발 방식입니다. 지속적 통합은 소프트웨어 릴

aws.amazon.com

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

 

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

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

www.redhat.com

 

jhleed.tistory.com/130

 

CI(Continuous Integration), CD(Continuous Delivery / Deployment)에 대해 알아보자.

웹 서비스를 개발/운영하다 보면 CI 와 CD라는 말을 자주 듣게 된다. 보통 CI 와 CD 를 묶어서 이야기하는 경우가 많아서 많은 사람들이(이전에 내가 그랬듯이) 두 개념을 종종 혼동하곤 한다. 이 포

jhleed.tistory.com

github.com/baeharam/Must-Know-About-Frontend/blob/master/Notes/frontend/ci-cd.md

 

baeharam/Must-Know-About-Frontend

:mortar_board: 취준생이라면 반드시 알아야 하는 프론트엔드 관련 지식들. Contribute to baeharam/Must-Know-About-Frontend development by creating an account on GitHub.

github.com