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

发布于:2025-08-30 ⋅ 阅读:(16) ⋅ 点赞:(0)

一、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 构建状态与服务器资源

网站公告

今日签到

点亮在社区的每一天
去签到