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 构建状态与服务器资源
相关推荐
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工2 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_2 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉2 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦3 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
java_cj3 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
lsyeei3 天前
linux 系统目录详解
linux·运维·服务器