从零搭建 Jenkins 自动化部署系统(CI/CD 实战教程)

在现代软件开发中,自动化部署(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 倍。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共1条

请登录后发表评论

    暂无评论内容