😮 CI / CD란 ?
Continuous Integration / Continuous Deployment(Delivery)의 약자로 지속적인 통합과 지속적인 제공을 의미한다.
CI / CD는 애플리케이션 개발부터 배포까지 모든 단계를 자동화하여 효율적이고 빠르게 사용자에게 배포할 수 있도록 함
🙁 CI - 지속적인 통합
애플리케이션의 버그 수정이나 새로운 코드 변경이 주기적으로 빌드 및 테스트되면서 공유되는 git repository에 통합되는 것을 의미
Git에 Push나 PullRequest 요청이 온다면 해당 코드를 빌드하고 테스트 코드를 실행하며 문제 없는지 체크하는 과정이 자동화된다.
👉 CI의 장점
- 자동화된 빌드와 자동화된 테스트를 제공하여 안정적인 코드를 빠르게 제공할 수 있는 밑거름이된다.
- 개발 편의성이 증가한다.
🤭 CD - 지속적 제공, 배포
배포 자동화 과정을 의미하며 지속적 제공과 지속적 배포를 의미한다.
지속적 제공은 수동 배포를 의미하며 CI 단계에서 빌드되고 테스트된 후, 배포 준비 상태가 확인되면 개발자 혹은 검증팀이 수동으로 배포하는 것이다.
지속적인 배포는 자동 배포를 의미하며 말 그대로 배포 준비상태가 확인되면 자동으로 배포까지 진행한다.
CI의 연장선이며 배포 이전에 테스트와 빌드는 필수적이기 때문에 항상 CI가 선행되어야 한다.
👉 CD의 장점
- 개발자가 개발에 더욱 신경 쓸 수 있도록 도와준다.
- 원클릭으로 빌드, 테스트, 배포까지의 일을 자동으로 처리할 수 있다.
😬 CI / CD 파이프라인
배포 자동화 과정들이 물 흐르듯 흘러가는 것을 묘사해서 파이프라인이라 부르게되었다.CI / CD의 파이프라인은 아래의 흐름으로 흘러간다.
- 빌드
- 테스트
- 릴리스
- 배포
- 규정 준수 및 유효성 검사
'TIL' 카테고리의 다른 글
내일배움캠프 Kotlin & Spring 3기 수료 후기 (2) | 2025.01.09 |
---|---|
Batch Insert로 100만건 데이터 생성하기 (1) | 2024.11.20 |
Docker - 자주 사용하는 명령어 (0) | 2024.11.19 |
Docker란 ? (0) | 2024.11.18 |
JPA - QueryDSL을 이용한 동적쿼리 (0) | 2024.11.15 |