一、Jenkins 安装
1.1 系统要求
- 基础环境:Java 8 或 Java 11(推荐)、至少 2GB 内存、10GB 以上磁盘空间
- 支持系统:Windows、Linux(Ubuntu/CentOS)、macOS
- 网络端口:默认使用 8080 端口(需确保端口未被占用)
1.2 不同系统安装步骤(附图解)
1.2.1 Ubuntu 系统安装
步骤流程图解:
执行命令:
# 更新系统包
sudo apt update
# 安装 Java 11
sudo apt install openjdk-11-jdk
# 导入 Jenkins 密钥
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
# 添加 Jenkins 源
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
# 安装 Jenkins
sudo apt update && sudo apt install jenkins
# 启动服务并设置开机自启
sudo systemctl start jenkins
sudo systemctl enable jenkins
# 检查状态(出现 "active (running)" 即为成功)
sudo systemctl status jenkins
1.2.2 CentOS 系统安装
步骤流程图解:
执行命令:
# 安装 Java 11
sudo yum install java-11-openjdk-devel
# 添加 Jenkins 源并导入密钥
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# 安装 Jenkins
sudo yum install jenkins
# 启动并设置自启
sudo systemctl start jenkins
sudo systemctl enable jenkins
# 开放 8080 端口(防火墙配置)
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload
# 验证端口
sudo firewall-cmd --list-ports | grep 8080
1.2.3 Windows 系统安装
步骤流程图解:
操作步骤:
- 下载安装包:访问 Jenkins 官网,选择 Windows 版本(.msi 格式)
- 双击安装包,按照向导提示完成安装(默认配置即可满足基础需求)
- 安装完成后,Jenkins 会自动作为服务启动,可在 “服务” 中查看状态(服务名:Jenkins)
二、Jenkins 初始配置
2.1 解锁 Jenkins(核心步骤图解)
解锁流程图解:
详细操作:
- 访问 Jenkins 界面:打开浏览器,输入 http://服务器IP:8080(本地部署用 localhost:8080)
- 获取初始密码:
-
- Linux 系统:执行命令 sudo cat /var/lib/jenkins/secrets/initialAdminPassword
-
- Windows 系统:密码文件路径 C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
3. 输入密码解锁:将获取到的密码复制到页面输入框,点击 “继续”
2.2 插件安装与管理员配置
配置流程图解:
关键说明:
- 推荐插件:包含 Git、Pipeline、Maven Integration 等核心插件,适合新手
- 自定义插件:后续可通过 “插件管理” 补充安装,常用插件清单:
-
- Git:拉取 Git 仓库代码
-
- Pipeline:创建流水线项目
-
- Docker:Docker 镜像构建与部署
-
- Publish Over SSH:通过 SSH 部署应用
-
- NodeJS:构建前端(React/Vue)项目
三、Jenkins 全局配置(工具与环境)
3.1 配置 JDK(图解步骤)
配置流程图解:
路径获取方法:
- Linux 系统:执行 which java 或 update-alternatives --config java,获取路径(如 /usr/lib/jvm/java-11-openjdk-amd64)
- Windows 系统:默认路径 C:\Program Files\Java\jdk-11.x.x
3.2 配置 Maven(前端项目可跳过)
配置流程图解:
- 手动安装:若服务器已安装 Maven,取消 “自动安装”,填写路径(如 Linux 下 /usr/local/maven)
3.3 配置 SSH 服务器(用于应用部署)
配置流程图解:
- 认证方式说明:
-
- 密码认证:直接输入服务器登录密码(简单但安全性较低)
-
- 密钥认证:将 Jenkins 服务器的公钥(~/.ssh/id_rsa.pub)添加到目标服务器的 ~/.ssh/authorized_keys 中(推荐)
四、创建第一个 Jenkins 项目(实战)
4.1 自由风格项目(适合简单任务)
创建流程图解:
示例:构建简单 Java 项目:
- 源码管理:Git 仓库 URL(如 https://github.com/example/java-demo.git)
- 构建步骤:选择 “执行 Shell”,输入 mvn clean package -DskipTests(编译打包)
- 构建后操作:选择 “Publish over SSH”,将 target/*.jar 发送到目标服务器
4.2 Pipeline 项目(推荐,支持复杂流程)
Pipeline 用代码定义构建流程(Jenkinsfile),支持版本控制,适合团队协作。
4.2.1 Pipeline 项目创建图解
4.2.2 实战:Spring Boot 应用 Pipeline 脚本(含流程图解)
Pipeline 流程图解:
脚本说明:
- agent any:使用任意可用的 Jenkins 节点(主节点或从节点)
- stages:定义构建阶段,按顺序执行
- post:构建完成后操作(成功 / 失败通知)
五、应用部署实战(前后端示例)
5.1 后端:Spring Boot 应用部署(Docker 方式)
部署流程图解:
关键命令:
# 构建镜像(在 Jenkinsfile 中)
docker build -t username/demo:${BUILD_NUMBER} .
# 推送镜像(需配置 Docker 凭据)
docker login -u username -p password
docker push username/demo:${BUILD_NUMBER}
# 目标服务器部署
docker stop demo || true
docker rm demo || true
docker run -d --name demo -p 8080:8080 username/demo:${BUILD_NUMBER}
5.2 前端:React 应用部署(Nginx 方式)
部署流程图解:
Nginx 配置示例:
server {
listen 80;
server_name demo-frontend.com; # 域名或服务器 IP
root /usr/share/nginx/html; # Jenkins 推送的 build 目录路径
index index.html;
# 解决前端路由刷新 404 问题
location / {
try_files $uri $uri/ /index.html;
}
}
六、Jenkins 安全与维护
6.1 用户权限控制(图解)
配置流程图解:
常用权限说明:
- 只读:查看项目状态,无法触发构建
- 构建:触发构建、查看日志,无法修改配置
- 管理员:完全控制 Jenkins(配置、插件管理、用户管理)
6.2 数据备份与恢复
备份流程图解:
备份脚本示例(Linux 系统):
#!/bin/bash
# backup_jenkins.sh
JENKINS_HOME="/var/lib/jenkins"
BACKUP_DIR="/var/backups/jenkins"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
# 创建备份目录
mkdir -p $BACKUP_DIR
# 压缩备份
tar -zcvf $BACKUP_DIR/jenkins_backup_$TIMESTAMP.tar.gz $JENKINS_HOME
# 删除 30 天前的备份
find $BACKUP_DIR -name "jenkins_backup_*.tar.gz" -mtime +30 -delete
定时任务配置:
# 每天凌晨 2 点执行备份
crontab -e
0 2 * * * /path/to/backup_jenkins.sh
七、总结与进阶方向
7.1 核心能力回顾
通过本文学习,可掌握:
- 多系统 Jenkins 安装与初始配置
- 全局工具(JDK、Maven、Git)配置
- 自由风格与 Pipeline 项目创建
- 前后端应用部署实战(Docker、Nginx)
- 安全配置与数据备份
7.2 进阶方向
- 多环境部署:通过 Pipeline 实现开发、测试、生产环境一键切换
- 蓝绿部署 / 金丝雀发布:减少部署风险,实现无感知更新
- Jenkins 从节点:分布式构建,分担主节点压力(适合大型项目)
- 集成监控工具:如 Prometheus + Grafana,监控 Jenkins 构建状态与服务器资源