Jenkins 全方位指南:安装、配置、部署与实战应用(含图解)

一、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 系统安装

步骤流程图解

操作步骤

  1. 下载安装包:访问 Jenkins 官,选择 Windows 版本(.msi 格式)
  2. 双击安装包,按照向导提示完成安装(默认配置即可满足基础需求)
  3. 安装完成后,Jenkins 会自动作为服务启动,可在 "服务" 中查看状态(服务名:Jenkins)

二、Jenkins 初始配置

2.1 解锁 Jenkins(核心步骤图解)

解锁流程图解

详细操作

  1. 访问 Jenkins 界面 :打开浏览器,输入 http://服务器IP:8080(本地部署用 localhost:8080
  2. 获取初始密码
    • 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 项目

  • 构建步骤:选择 "执行 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 核心能力回顾

通过本文学习,可掌握:

  1. 多系统 Jenkins 安装与初始配置
  2. 全局工具(JDK、Maven、Git)配置
  3. 自由风格与 Pipeline 项目创建
  4. 前后端应用部署实战(Docker、Nginx)
  5. 安全配置与数据备份

7.2 进阶方向

  1. 多环境部署:通过 Pipeline 实现开发、测试、生产环境一键切换
  2. 蓝绿部署 / 金丝雀发布:减少部署风险,实现无感知更新
  3. Jenkins 从节点:分布式构建,分担主节点压力(适合大型项目)
  4. 集成监控工具:如 Prometheus + Grafana,监控 Jenkins 构建状态与服务器资源
相关推荐
Leinwin7 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382507 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇7 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7597 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣8 小时前
智能体选型实战指南
运维·人工智能
yy55278 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ8 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔10 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密10 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi201510 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑