Jenkins — CI/CD 의 오픈소스 표준
Jenkins — CI/CD 의 오픈소스 표준
1. 요약
Jenkins 는 2004년 Sun Microsystems 의 Kohsuke Kawaguchi 가 Hudson 으로 시작한 지속적 통합 (CI) 자동화 도구 다. 2010년 Oracle 이 Sun 을 인수하면서 프로젝트 통제 갈등이 발생, 2011년 1월 11일 커뮤니티 투표를 거쳐 Jenkins 로 포크 (1월 29일 승인). 첫 Jenkins 릴리스 1.396 은 2011년 2월 11일 (Hudson 1.395 에서 이름만 변경).
2. 배경 (이전 도구의 한계)
XP의 Continuous Integration 관행 (1999) 은 좋았지만 수동 이었다 — 개발자가 매번 통합 빌드를 돌려야 했다. CruiseControl (2001) 같은 초기 도구도 있었지만 XML 설정이 복잡 했다. Kawaguchi 의 통찰: Java 서블릿 컨테이너 한 개에 웹 UI 로 모든 빌드를 관리 하면 누구나 쓸 수 있다.
3. 핵심 개념·표기법
Jenkins 의 핵심:
- Job (Build) — 빌드 단위
- Pipeline — 빌드 → 테스트 → 배포 단계 명세 (Jenkinsfile, Groovy DSL)
- Plugin Ecosystem — 1,800+ 플러그인 (GitHub, Slack, AWS 등)
- Master / Agent — 분산 빌드
Declarative Pipeline (Jenkinsfile):
pipeline {
agent any
stages {
stage('Build') { steps { sh 'make' } }
stage('Test') { steps { sh 'make test' } }
stage('Deploy'){ steps { sh 'make deploy' } }
}
}
4. 언어·OS 매핑 (★ 강의 핵심)
| 시대 | 환경 | Jenkins 활용 |
|---|---|---|
| 2004~10 | Hudson, Java | Sun 사내 도구 |
| 2011~15 | Jenkins, 모든 언어 | ★ CI 산업 표준 |
| 2015~ | Kubernetes 시대 | Jenkins X — 컨테이너 친화 |
| 2018~ | GitHub Actions, GitLab CI | 클라우드 SaaS 로 점차 이동 |
| 2024~ | + AI | LLM 이 Jenkinsfile 자동 생성 |
★ Jenkins 는 언어 무관 — Java·Python·Node·Go·C++·Rust 모두 빌드. 이것이 20년 살아남은 이유.
5. 현대까지의 영향
- CircleCI, Travis CI (2011~) — SaaS CI
- GitHub Actions (2018) — Git 통합 CI
- GitLab CI — DevOps 통합 플랫폼
- Jenkins X (2018) — Kubernetes-native Jenkins
- Tekton, ArgoCD — Cloud-native CI/CD
- AI 자동 파이프라인 — LLM 이 yaml 작성
6. 주요 인물·사건
| 연도 | 사건 |
|---|---|
| 2004 | Kawaguchi (Sun), Hudson 시작 |
| 2010 | Oracle, Sun 인수 — 프로젝트 통제 갈등 |
| 2011 1월 | 커뮤니티 투표 — Hudson → Jenkins 포크 |
| 2011 2월 | Jenkins 1.396 첫 릴리스 |
| 2011 | Kawaguchi, O'Reilly Open Source Award |
| 2018 | Jenkins X — Kubernetes 친화 |
| 2018~ | GitHub Actions 출시 — 점차 SaaS 우세 |
7. 강의 활용
"빌드 자동화가 CI/CD 가 되고, CI/CD 가 GitOps 가 되고, GitOps 가 AI 자동 배포가 된다" 의 진화. 자동화의 핵심: 코드 변경이 일어나면 즉시 검증되어야 한다 — 이 원칙은 AI 시대에도 동일 — LLM 이 코드를 만들면 Jenkins 같은 자동 검증 파이프라인이 그것을 항상 검증해야 한다.
출처
- Jenkins (software) — Wikipedia
- Hudson is Retiring — Christian Del Monte
- Jenkins: the fork from Hudson — noze.it
- Kohsuke Kawaguchi — Wikipedia
그룹 시리즈
→ synthesis/group-se_g5 (시대 그룹 종합 카드)