memostack
article thumbnail
Published 2020. 7. 8. 21:04
CI/CD 개념 정리 ETC
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

CI

  • Continuous Integration의 약자로 '지속적인 통합'이란 뜻

 

기존 방식 / CI&CD

그래서, 지속적인 통합이란?

  • 정기적으로 짧은 시간에 빌드하고 테스트, 병합하는 것을 뜻한다
  • 상대적으로 짧은 시간동안 병합하므로, 개발자들 간의 코드 충돌을 피할 수 있다.
    • 단점이라고 한다면 자주 병합하므로 번거로울 수 있다는 점.
테스트의 종류
- 단위 테스트 (Unit Test)
- 통합 테스트 (Integration Test)

 

CD

  • Continuous Delivery 또는 Continuous Deploy의 약자로 '지속적인 배포'란 뜻

 

지속적인 배포란?

  • 서비스 배포의 자동화라할 수 있다.
    • 빌드, 테스트, 배포를 자동화하기 때문에 번거롭게 개발자가 개입할 필요 없어 비용 줄일 수 있고, 사람에 의한 실수를 방지할 수 있어서 위험성을 낮출 수 있다.
    • 또한, 자동적으로 빌드 및 테스트를 거치고 배포를 하기 때문에 신뢰성을 보장한 서비스를 제공할 수 있다.
  • CD는 CI의 연장선이라고 볼 수 있다.

출처: https://blog.oursky.com/2019/08/19/how-to-build-cicd-pipeline/

 

 

CI/CD를 도와주는 도구(Tools)

  • Jenkins (오픈소스)
  • Atlassian Bamboo (유료)
현재 재직중인 회사에서도 Bamboo와 Jenkins를 사용하고 있고
Atlassian의 Bamboo를 사용하다가, 무료 오픈소스인 Jenkins를 도입하는 단계에 있다.

 

결론

쉽게 정리하자면 아래와 같다

  • CI: 빌드 및 테스트의 자동화
  • CD: 서비스 배포의 자동화

참고. '우아한 형제들' 블로그

출처: https://woowabros.github.io/experience/2018/06/26/bros-cicd.html

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!