본문 바로가기

Spring boot

CI/CD란 무엇인가

반응형

CI ( Continuous Integration) : 지속적 통합

CD ( Continuous Delivery/Deployment) :  지속적 제공/배포

 

CI, 지속적 통합은 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합하는 것을 의미합니다.(가능하다면 하루에 여러번까지)

 

CI는 언제 필요한가?

  • 다수의 개발자가 형상관리(Git,SVN) 툴을 공유하여 사용하는 환경
  • MSA(Micro Service Archietecture) 환경

CI의 핵심 목표는

  • 버그를 신속하게 찾아 해결하고
  • 소프트웨어의 품질을 개선하고
  • 새로운 업데이트의 검증 및 릴리즈의 시간을 단축시키는 것에 있다.

 

 

CD는 Continuous Delivery 혹은 Continuous Deployment 두 용어 모두의 축약어다.

 

Continuous Delivery는 공유 레포지토리로 자동으로 Release 하는 것,

Continuous Deployment 는 Production 레벨까지 자동으로 deploy 하는 것을 의미합니다.

정리하자면, CI가 새로운 소스코드의 빌드, 테스트, 병합까지를 의미하였는데,

CD는 개발자의 변경 사항이 레포지토리를 넘어, 고객의 프로덕션(Production)환경까지 릴리즈 되는 것을 의미합니다.

 

 

가장많이 쓰는 도구는 Jenkins!!

1. 젠킨스

오늘날 시장에서 널리 사용되는 CI/CD 도구 중 하나인 Jenkins는 중앙 빌드 및 지속적인 통합 프로세스가 가능하며, Windows, macOS 및 기타 Unix 계열 운영 체제용 패키지가 포함된 독립형 Java 기반 프로그램이다. 수백개의 플러그인을 사용할 수 있는 Jenkins는 소프트웨어 개발 프로젝트의 빌드 파이프라인 구성, Build 자동화의 확립, 배포 및 테스트 자동화 등을 지원한다.

반응형

'Spring boot' 카테고리의 다른 글

@NotNull vs @NotEmpty  (0) 2024.07.29
@ModelAttribute vs @RequestBody  (0) 2024.07.28
RESTful API 란 무엇인가??  (0) 2024.07.25
SpringBoot TDD 끄적끄적  (0) 2024.07.21
Spring Boot 끄적끄적(4)  (0) 2024.07.18