Jenkins 是使用最广泛的开源持续集成/持续交付(CI/CD)服务器,通过「构建任务 + 插件」模型支撑代码编译、测试、打包、发布全流程,是运维自动化体系的核心组件。
核心优点
- 插件生态庞大:Git、Docker、Kubernetes、钉钉通知等上千个插件开箱即用。
- 流水线即代码:Jenkinsfile 把构建流程版本化,可评审可回溯。
- 分布式构建:Master/Agent 架构,支持多节点并行构建。
- 触发器丰富:定时、Webhook(代码推送触发)、参数化构建。
- 可观测:构建历史、控制台输出、测试报告一目了然。
快速上手
# Docker 部署(持久化数据目录)
docker run -d --name jenkins -p 8080:8080 -p 50000:50000
-v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
# 首次解锁密码
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
# 传统方式安装(Debian/Ubuntu)
apt install jenkins
流水线示例
pipeline {
agent any
stages {
stage('构建') { steps { sh 'make build' } }
stage('测试') { steps { sh 'make test' } }
stage('部署') { steps { sh 'scp dist/*.tar.gz deploy-server:/opt/app/' } }
}
}
适用场景
代码自动化构建与测试、应用发布流水线、定时任务替代(构建/备份)、配合 GitLab 或 Gitea 使用。