해킹공주의 일상
CI/CD 개념 쉽게 이해하기 본문
CI/CD는 한줄로 말하자면 코드가 바뀌면 자동으로 빌드 및 테스트하고, 자동으로 배포하는 흐름이다.
CI (Continuous Integration)
코드를 계속 합치고, 자동으로 빌드·테스트하는 것.
누가 언제 코드를 올려도 자동으로 문제 없는지 확인함.
CD (Continuous Delivery / Deployment)
빌드된 결과물을 자동으로 배포하는것
사람 손 덜 타게 같은 결과물로 반복 배포함
즉, 실무에서는 아래와 같은 흐름으로 진행된다
[개발자]
↓
[Git 저장소] ← CI 시작점 (코드)
↓
[Jenkins] ← CI (빌드·테스트 자동화)
↓
[Nexus] ← 빌드 결과물 저장
↓
[배포 서버 / ECS] ← CD (서비스 반영)
하나씩 자세히 알아보자.
1️⃣ Git 저장소
사람이 작성한 “원본 코드”를 저장하는 곳. 사람이 작성하고, 확인하는 공간이다.
저장되는 것 : Java 소스 / Python 코드 / Dockerfile / Jenkinsfile
2️⃣ Jenkins
Git에 있는 코드를 가져와서 일을 시키는 자동화 서버.
Jenkins가 하는 일: Git 저장소에서 코드 내려받기 (clone/pull) / 빌드 및 테스트 자동화
3️⃣ Nexus
Jenkins가 만든 “완성품”을 저장하는 창고. 기계가 쓰는 것들이 담겨있다.
저장되는 것 : .jar / .war / .zip / Docker image
비유하자면 아래와 같다.
Git = 설계도
Jenkins = 공장
Nexus = 완제품 창고
아래와 같은 구조로 진행된다.
개발자
↓
Git (소스 코드)
↓
Jenkins (빌드)
↓
Nexus (결과물 저장)
↓
배포 서버 / 운영 환경
'인프라진단 > 인프라 지식' 카테고리의 다른 글
| 리눅스 비밀번호 복잡도 설정 정리(RHEL / Debian 계열) (0) | 2026.02.26 |
|---|---|
| Unix와 Linux 계열 및 역사 이해하기 (0) | 2026.02.24 |
| Tomcat 웹 서버 디렉터리 설정하기(unpackWARs, 소스코드 파일 권한) (0) | 2025.07.15 |
| Tomcat에 웹 애플리케이션 여러개 올리는 3가지 방법 (0) | 2025.07.15 |
| /etc/login.defs 설정파일 및 UMASK 설정 (0) | 2025.05.14 |
Comments