CI/CD란?
CI(Continuous Integration) 지속적인 통합
빌드, 테스트 자동화
1. 빌드(Build)
2. 테스트(Test)
3. 통합(Merge)
✔ CI 적용 전 : 개발을 마치고 배포 후 오류를 확인했다.
✔ CI 적용 후 :
- 코드 변경 사항을 정기적으로 빌드, 테스트하여 공유 레포지토리에 통합되는 과정을 통해 품질을 유지하면서 개발을 진행한다.
- 여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리 가능하다.
→ ⌚ 하지만, 개발자가 직접 코드를 병합하고 빌드, 테스트를 검증하는 것은 시간이 많이 소요됨 ≫ 자동화
CI 순서
1. 개발자가 구현한 코드를 기존 코드와 병합
2. 변합된 코드가 올바르게 동작하고 빌드되는지 검증
3. 테스트 결과에 문제가 있다면, 수정하고 1로 감.. 문제 없다면 배포
CD(Continuous Delivery / Continuous Deployment) 지속적인 전달 / 지속적인 배포
배포 자동화
1. 배포(Deploy)
✔ CI를 통해서 새로운 소스코드의 빌드와 테스트 병합까지 성공적으로 진행되었다면, 빌드와 테스트를 거쳐 github과 같은 저장소에 업로드하는 것을 의미한다.
CI(통합)과 CD(배포)를 나누는 이유?
테스트가 실패 했을 때 배포되는 것을 방지하기 위해
CI/CD 도구
1. Jenkins
Jenkins는 중앙 빌드 및 지속적인 통합 프로세스가 가능하며, Windows, macOS 및 기타 Unix 계열 운영 체제용 패키지가 포함된 독립형 Java 기반 프로그램이다.
수백개의 플러그인을 사용할 수 있는 Jenkins는 소프트웨어 개발 프로젝트의 빌드 파이프라인 구성, Build 자동화의 확립, 배포 및 테스트 자동화 등을 지원한다.
홈페이지: https://jenkins.io/
Jenkins
Jenkins Board and Officer Elections 2023 - Nominations Open We are excited to announce the 2023 Jenkins Governance Board and officer elections! Nominations Nominations can be submitted for two governance board positions, and all five officer positions (Sec
www.jenkins.io
2. GitHub Actions
3. circleci
코드 구축, 테스트에서 배포에 이르기까지 사용자의 파이프라인 전반에 걸쳐 신속한 소프트웨어 개발 및 게시를 지원하는 CI/CD 자동화 도구이다. CircleCI를 GitHub, GitHub Enterprise 및 Bitbucket과 통합하여 사용할 수 있다.
홈페이지: https://circleci.com/
Continuous Integration and Delivery
Get the best continuous integration and delivery (CI/CD) for any platform, in our cloud or on your own infrastructure, for free.
circleci.com
등등..
참고 링크
'공부 > Infra' 카테고리의 다른 글
docker 명령어(-d, -itd) (0) | 2025.02.04 |
---|---|
docker ./gradlew: not found (0) | 2025.02.03 |
[Docker] Docker Hub Image 활용(Nginx, MySQL) (1) | 2023.10.11 |
[Jenkins] CI/CD, Pipe Line 작성 및 설정, 빌드자동화 (1) | 2023.10.10 |
[linux] 프로그램 설치(git, node, java, mysql) (0) | 2023.10.06 |