在现代软件开发中,自动化部署(CI/CD) 已经成为研发流程的核心环节。本文将带你从零开始搭建一套完整的 Jenkins 自动化部署系统,实现从代码提交 → 自动构建 → 自动测试 → 自动部署的全过程。
适合 DevOps、后端工程师、测试工程师以及有志向自动化方向发展的读者。
一、环境准备
1. 系统要求
|
项目 |
配置 |
|
操作系统 |
Ubuntu 22.04 / CentOS 8 / RedHat 9 |
|
CPU |
≥ 2 核 |
|
内存 |
≥ 4 GB |
|
磁盘空间 |
≥ 20 GB |
|
软件 |
Java 11+、Git、Docker(可选) |
2. 安装 Java(Jenkins 依赖)
sudo apt update -y
sudo apt install openjdk-11-jdk -y
java -version
确认输出包含 openjdk version “11” 即可。
3. 安装 Jenkins
wget -q -O – https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add –
sudo sh -c ‘echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list’
sudo apt update -y
sudo apt install jenkins -y
安装完成后,启动服务:
sudo systemctl enable jenkins
sudo systemctl start jenkins
浏览器访问:
http://<your_server_ip>:8080
首次登录时,Jenkins 会提示输入初始密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
复制密码后粘贴到网页中即可完成首次登录。
⚙️ 二、插件安装与环境配置
登录后,进入:
Manage Jenkins → Manage Plugins
推荐安装以下插件:
- Git Plugin(代码拉取)
- Pipeline Plugin(流水线)
- Docker Plugin(容器化部署)
- Email Extension Plugin(邮件通知)
- Blue Ocean(可视化界面)
安装完成后重启 Jenkins。
三、创建自动化流水线项目
1. 新建项目
点击 “新建任务(New Item)”
选择 “Pipeline(流水线)” → 命名为:auto-deploy-demo
2. 配置源码管理
在 “Pipeline” 配置中选择:
Pipeline script from SCM
类型:Git
仓库地址填写:
https://github.com/your-username/your-repo.git
3. 创建 Jenkinsfile
在项目仓库中新建 Jenkinsfile:
pipeline {
agent any
stages {
stage(‘Checkout’) {
steps {
git branch: ‘main’, url: ‘https://github.com/your-username/your-repo.git’
}
}
stage(‘Build’) {
steps {
sh ‘mvn clean package -DskipTests’
}
}
stage(‘Test’) {
steps {
sh ‘mvn test’
}
}
stage(‘Deploy’) {
steps {
sh ”’
docker build -t myapp:latest .
docker stop myapp || true
docker rm myapp || true
docker run -d -p 8080:8080 –name myapp myapp:latest
”’
}
}
}
post {
success {
mail to: ‘team@company.com’,
subject: “✅ Jenkins 部署成功 – ${env.JOB_NAME}”,
body: “构建号: ${env.BUILD_NUMBER} 已成功部署!”
}
failure {
mail to: ‘team@company.com’,
subject: “❌ Jenkins 部署失败 – ${env.JOB_NAME}”,
body: “请检查 Jenkins 控制台日志!”
}
}
}
四、触发器设置(自动构建)
点击:
Build Triggers → GitHub hook trigger for GITScm polling
然后在 GitHub 仓库中添加 Webhook:
Payload URL: http://<jenkins_server_ip>:8080/github-webhook/
Content type: application/json
每次提交代码,Jenkins 将自动拉取并部署。
五、实战效果
✅ 构建阶段:
- 自动拉取最新代码
- 自动执行测试
- 构建可执行 JAR 包
✅ 部署阶段:
- 自动打包 Docker 镜像
- 自动重启容器
- 自动检测运行状态
✅ 通知阶段:
- 邮件通知团队
- 在 Jenkins Blue Ocean 中可视化构建状态
️ 六、优化提议
|
方向 |
优化内容 |
|
安全性 |
使用 HTTPS + Jenkins 用户权限控制 |
|
性能 |
使用代理节点分担构建负载 |
|
容器化 |
结合 Kubernetes 实现弹性构建 |
|
日志 |
接入 ELK 或 Loki 系统 |
|
可视化 |
使用 Grafana + Prometheus 监控构建状态 |
七、总结
通过本教程,你学会了:
- 从零安装并配置 Jenkins
- 创建自动化部署流水线
- 编写 Jenkinsfile 实现代码 → 构建 → 测试 → 部署全流程
- 实现 Git 提交自动触发构建与部署
Jenkins 是 DevOps 的核心工具之一。掌握它,你将具备企业级自动化部署的能力,助力项目开发与发布提效 10 倍。




















- 最新
- 最热
只看作者