CI(Continuous Integration)/CD(Continuous Delivery & Continuous Deployment)란?
💡 CI(Continuous Integration)란?
- CI(Continuous Integration)란, 지속적인 통합이라는 뜻이다.
- 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 레포지토리에 통합하는 것을 의미한다. (빌드 및 테스트 자동화)
🔎 CI가 필요한 환경에는 어떤 조건이 있을까?
1. 다수의 개발자가 형상관리(Git, SVN) 툴을 공유하여 사용하는 환경이어야 한다.
- 형상관리 툴은 기능을 추가할 때 마다 commit 등을 날려 레포지토리에 버전을 업데이트할 때 원천 소스코드의 충돌을 방어하는 역할을 한다.
2. MSA(Micro Service Architecture) 환경
- MSA에 대한 설명은 하단의 링크를 참조.
https://roajava.tistory.com/210
모놀리식 아키텍처(Monolithic Architecture) vs MSA(MicroService Architecture)
💡 모놀리식 아키텍처(Monolithic Architecture)란? - 전통적인 개발 아키텍처다. - 하나의 프로젝트에 모든 기능들이 싹 다 들어가 있다. 🔎 모놀리식 아키텍처 장점 - 중앙에 집중된 구조이기때문에
roajava.tistory.com
💡 CD(Continuous Delivery & Continuous Deployment)란?
- 지속적인 서비스 제공 또는 지속적인 배포라는 의미를 뜻한다.
- Continuous Delivery는 레포지토리에 자동으로 릴리즈 하는 것.
- Continuous Deployment는 Production 레벨까지 자동으로 deploy하는 것. (배포 자동화)
- 언제든지 신뢰 가능한 수준의 버전을 유지할 수 있도록 서포트하는 것이다.
=> CD는 개발자의 변경 사항이 레포지토리를 넘어 고객의 프로덕션(Production) 환경까지 릴리즈되는 것을 의미한다.
[출처]
https://artist-developer.tistory.com/24
CI/CD란 무엇인가 (Feat. DevOps 엔지니어)
안녕하세요. 개발자의 용어를 쉽고 명확하게 설명해드리는 개발자 김모씨입니다. CI/CD ?! 개발자로 밥먹고 사시는 분들이시라면, 혹은 IT서비스 업계에 종사하시는 분들이라면, 한 번 쯤은 들어
artist-developer.tistory.com
CI/CD 기본개념과 가장 많이 쓰이는 도구 5가지 | 하늘네트
CI/CD란? CI = 지속적인 통합(Continuous Integration); 한마디로 “빌드와 테스트 자동화” CD = 지속적인 전달(Continuous Delivery) 또는 지속적인 배포(Continuous Deployment); 한마디로 “배포 자동화” 덧붙이
www.hanl.tech