728x90
💡 CI(Continuous Integration)란?
- CI(Continuous Integration)란, 지속적인 통합이라는 뜻이다.
- 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 레포지토리에 통합하는 것을 의미한다. (빌드 및 테스트 자동화)
🔎 CI가 필요한 환경에는 어떤 조건이 있을까?
1. 다수의 개발자가 형상관리(Git, SVN) 툴을 공유하여 사용하는 환경이어야 한다.
- 형상관리 툴은 기능을 추가할 때 마다 commit 등을 날려 레포지토리에 버전을 업데이트할 때 원천 소스코드의 충돌을 방어하는 역할을 한다.
2. MSA(Micro Service Architecture) 환경
- MSA에 대한 설명은 하단의 링크를 참조.
https://roajava.tistory.com/210
💡 CD(Continuous Delivery & Continuous Deployment)란?
- 지속적인 서비스 제공 또는 지속적인 배포라는 의미를 뜻한다.
- Continuous Delivery는 레포지토리에 자동으로 릴리즈 하는 것.
- Continuous Deployment는 Production 레벨까지 자동으로 deploy하는 것. (배포 자동화)
- 언제든지 신뢰 가능한 수준의 버전을 유지할 수 있도록 서포트하는 것이다.
=> CD는 개발자의 변경 사항이 레포지토리를 넘어 고객의 프로덕션(Production) 환경까지 릴리즈되는 것을 의미한다.
[출처]
https://artist-developer.tistory.com/24
728x90
'ETC' 카테고리의 다른 글
모놀리식 아키텍처(Monolithic Architecture) vs MSA(MicroService Architecture) (0) | 2024.02.19 |
---|---|
컴퓨터의 메모리 구조 (1) | 2024.01.02 |
[Windows] 레지스트리(Registry) 개념 정리 (0) | 2023.12.12 |