
젠킨스(Jenkins)는 오픈소스로 제공되는 자동화 서버로,
소프트웨어 개발 과정에서 지속적인 통합(Continuous Integration, CI)과
지속적인 배포(Continuous Delivery, CD)를 지원한다.
다양한 플러그인을 통해 여러 개발, 테스트, 배포 도구와 연동할 수 있어
DevOps 문화를 구축하는 데 중요한 역할을 한다.
젠킨스는 이 과정을 자동화하여 개발 효율성과 코드 품질을 높인다.
젠킨스는 다양한 방식으로 설치할 수 있다:
$ java -jar jenkins.war
$ docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
Jenkins Pipeline은 Jenkinsfile에 정의되며 다음과 같은 형태를 가진다:
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building...'
}
}
stage('Test') {
steps {
echo 'Testing...'
}
}
stage('Deploy') {
steps {
echo 'Deploying...'
}
}
}
}
젠킨스는 수천 개의 플러그인을 지원한다. 대표적으로:
플러그인을 통해 테스트 커버리지, 보안 스캔, 정적 분석 등을 파이프라인에 통합할 수 있다.
| 장점 | 단점 |
|---|---|
| 풍부한 플러그인 | 설정이 복잡할 수 있음 |
| 활발한 커뮤니티 | UI가 직관적이지 않을 수 있음 |
| 다양한 언어와 도구 지원 | 리소스 사용량이 클 수 있음 |