개요

Jenkins는 가장 오래되고 널리 사용되는 오픈소스 CI/CD 자동화 서버입니다. 2004년 Hudson 프로젝트로 시작되어 현재까지 빌드, 테스트, 배포 파이프라인 자동화의 업계 표준 역할을 해왔습니다. Java 기반으로 거의 모든 플랫폼에서 실행되며, 1,800개 이상의 플러그인으로 확장 가능합니다.


주요 기능

Pipeline as Code

Jenkinsfile을 리포지토리에 포함하여 파이프라인을 코드로 관리:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps { sh 'mvn clean package' }
        }
        stage('Test') {
            steps { sh 'mvn test' }
        }
        stage('Deploy') {
            steps { sh './deploy.sh' }
        }
    }
    post {
        failure { mail to: 'team@example.com', subject: 'Build Failed' }
    }
}

플러그인 생태계

  • 1,800+ 플러그인 (가장 큰 CI/CD 플러그인 생태계)
  • Git, Docker, Kubernetes, Slack, SonarQube, AWS 등 연동
  • Blue Ocean: 모던 UI 플러그인

분산 빌드

  • Master/Agent 아키텍처
  • 다중 노드에서 병렬 빌드
  • Docker, Kubernetes 기반 동적 에이전트

장단점

장점단점
완전 무료 오픈소스설정/관리 복잡
최대 플러그인 생태계UI가 구식
완전한 커스터마이징플러그인 호환성 이슈
모든 환경 지원보안 패치 자체 관리

GitHub Actions vs Jenkins

항목JenkinsGitHub Actions
호스팅셀프호스팅클라우드 (GitHub)
설정Jenkinsfile (Groovy)YAML
비용인프라 비용무료 티어 있음
확장플러그인마켓플레이스 액션
최적엔터프라이즈, 레거시GitHub 프로젝트

관련 항목