
CI / CD란 무엇인가 (출발점)
CI와 CD는 도구가 아니라 개발 문화와 흐름이다.
CI(Continuous Integration)는
여러 개발자가 작성한 코드를 자주 병합하고
자동으로 빌드와 테스트를 수행해
문제를 초기에 발견하는 것을 목표로 한다.
CD(Continuous Delivery / Deployment)는
검증된 코드를
언제든지 서비스 환경에 배포할 수 있도록 자동화하는 것을 의미한다.
즉
CI는 “잘 합쳐졌는가”
CD는 “안전하게 나갈 수 있는가”에 대한 이야기다.
왜 CI / CD가 필요해졌는가
수동 배포의 문제는 명확하다.
사람이 직접 빌드
환경마다 결과가 다름
배포 중 실수 발생
서비스 중단 가능성
CI / CD는
이 모든 과정을 기계가, 동일한 방식으로, 반복 가능하게 만든다.
Docker의 목적과 필요성
Docker는 실행 환경 문제를 해결하기 위해 등장했다.
CI에서 빌드를 해도
서버 환경이 다르면 결과가 달라질 수 있다.
Docker는
애플리케이션과 실행 환경을 하나의 이미지로 묶어
어디서 실행하든 동일한 결과를 보장한다.
Docker의 역할은 명확하다.
“이 코드는 이런 환경에서 이렇게 실행된다”를
하나의 산출물로 만드는 것
CI / CD 관점에서 Docker는
빌드 결과물의 표준 포맷이다.
Kubernetes의 목적과 필요성
Docker만으로는
컨테이너 하나를 실행하는 데는 충분하다.
하지만 실제 서비스는 다르다.
컨테이너 여러 개
트래픽 증가
서버 장애
무중단 배포
자동 확장
Kubernetes는
이런 운영 문제를 해결하기 위해 등장했다.
Kubernetes의 역할은
컨테이너를 “실행”하는 것이 아니라
운영하는 것이다.
즉
몇 개를 띄울지
어디서 띄울지
죽으면 어떻게 할지
업데이트는 어떻게 할지
이 모든 결정을 자동으로 처리한다.
Jenkins의 목적과 필요성
Jenkins는
CI / CD 흐름을 실제로 실행하는 자동화 엔진이다.
CI / CD는 개념이기 때문에
그 자체로는 아무 일도 하지 않는다.
Jenkins는
“언제 무엇을 어떤 순서로 실행할지”를 정의하고
그걸 실제로 수행한다.
Jenkins의 핵심 역할은
파이프라인 오케스트레이션이다.
각각의 역할을 한 문장으로 정리하면
CI / CD
개발부터 배포까지를 자동화하자는 철학과 흐름
Docker
실행 환경을 포함한 배포 단위를 표준화
Kubernetes
컨테이너를 대규모로 안정적으로 운영
Jenkins
이 모든 과정을 자동으로 연결하고 실행
이 네 가지가 만나서 동작하는 실제 흐름
- 개발자가 코드를 push
- Jenkins가 CI 파이프라인 실행
- 코드 빌드 및 테스트 수행
- Docker 이미지 생성
- 이미지 레지스트리에 업로드
- Jenkins가 CD 단계 실행
- Kubernetes에 새 이미지 배포
- Kubernetes가 무중단으로 서비스 교체
이 흐름이 바로
현대 웹 서비스의 기본 배포 구조다.
관계성을 구조로 보면
CI / CD
→ “이렇게 흘러가야 한다”는 설계
Jenkins
→ 그 설계를 실제로 실행
Docker
→ 실행 가능한 결과물 제공
Kubernetes
→ 그 결과물을 안정적으로 운영
서로 대체 관계가 아니라
각자의 빈자리를 정확히 채우는 관계다.
프론트엔드 개발자 관점에서의 이해 포인트
React 코드를 작성하는 건 시작일 뿐이다.
CI
코드 품질을 자동으로 검증
Docker
내 앱이 서버에서 돌아갈 형태를 정의
Jenkins
이 모든 과정을 자동으로 연결
Kubernetes
실제 서비스로 끊김 없이 제공
이걸 이해하면
“프론트엔드도 배포를 이해하는 개발자”가 된다.
면접에서 통합해서 말하면 이렇게 된다
CI/CD는 개발부터 배포까지의 과정을 자동화하는 흐름이고,
Jenkins는 그 흐름을 실행하는 자동화 서버입니다.
Docker는 실행 환경을 포함한 배포 단위를 만들고,
Kubernetes는 그 컨테이너들을 안정적으로 운영합니다.
'STUDY' 카테고리의 다른 글
| 프론트엔드 1기 수료생 강의 (0) | 2025.12.17 |
|---|---|
| 웹 개발 파이프라인 구축 - 젠킨스 (1) | 2025.12.17 |
| 웹 개발 파이프라인 구축 - 쿠버네티스 (0) | 2025.12.16 |
| 웹 개발 파이프라인 구축 - 도커 (0) | 2025.12.15 |
| 오픈소스(5) (0) | 2025.12.14 |