Jenkins는 오픈소스 기반의 자동화 서버입니다.
주로 지속적인 통합(CI)과 지속적인 배포(CD)를 위한 도구로 사용됩니다.
쉽게 말해, 개발한 코드를 자동으로 테스트하고 빌드하고 배포까지 해주는 자동화 매니저입니다.
예: Slack Notification 플러그인을 추가하면 빌드 성공/실패를 슬랙으로 받을 수 있습니다.
# 플러그인 관리 화면에서 설치 및 활성화 가능
Manage Jenkins > Plugin Manager
// Jenkins Pipeline 예시
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Build Step'
}
}
stage('Test') {
steps {
echo 'Running Tests'
}
}
}
}
Jenkinsfile로 빌드 설정을 버전 관리할 수 있습니다.
triggers {
cron('H 4 * * 1-5') // 평일 오전 4시에 자동 실행
}
코드 Push 시 자동 테스트/배포를 구현할 수 있어 DevOps에 필수입니다.
| 구성 요소 | 설명 |
|---|---|
| Master | 전체 시스템 제어 및 Job 분배 |
| Agent | 실제 빌드 실행을 담당하는 노드 |
| Job/Project | 수행할 작업 정의 (빌드, 테스트, 배포 등) |
| Pipeline | Job을 단계별로 나눈 빌드 스크립트 |
| Plugin | 외부 도구와의 연동 기능을 추가하는 모듈 |
java -jar jenkins.wardocker run -p 8080:8080 jenkins/jenkins:ltsapt install jenkinsyum install jenkins가장 쉬운 방법은 Docker입니다. 포팅도 쉽고 관리도 간편합니다.
협업에 있어 코드 품질 관리에 매우 유용합니다.
Jenkins는 복잡한 개발-배포 사이클을 자동화하여 개발 생산성을 높여주는 DevOps 필수 도구입니다.
📌 요약 리스트: