Jenkins 自动化部署前后端分离若依项目全攻略:涵盖环境配置、Maven/Node.js 工具安装、GitLab 项目协同,及前后端构建、服务器推送与代码更新验证全步骤

提示:本文原创作品,良心制作,干货为主,简洁清晰,一看就会

Jenkins前后端分离若依

  • 前言
  • 一、若依介绍
    • [1.1 若依是什么](#1.1 若依是什么)
    • [1.2 运维为什么要学习部署若依项目](#1.2 运维为什么要学习部署若依项目)
    • [1.3 若依动静分离典型架构](#1.3 若依动静分离典型架构)
  • 二、环境介绍
  • 三、安装服务
    • [3.1 安装软件](#3.1 安装软件)
    • [3.2 jenkins安装maven,node.js](#3.2 jenkins安装maven,node.js)
    • [3.3 jenkins安装相关插件](#3.3 jenkins安装相关插件)
    • [3.4 前端服务器环境配置](#3.4 前端服务器环境配置)
    • [3.5 后端服务器环境配置](#3.5 后端服务器环境配置)
  • 四、项目准备
    • [4.1 gitlab新建项目test-ruoyi-vue](#4.1 gitlab新建项目test-ruoyi-vue)
    • [4.2 配置若依数据库](#4.2 配置若依数据库)
      • [4.2.1 拉取若依项目](#4.2.1 拉取若依项目)
      • [4.2.2 配置mysql](#4.2.2 配置mysql)
      • [4.2.3 配置redis](#4.2.3 配置redis)
    • [4.3 推送项目](#4.3 推送项目)
  • 五、Jenkins构建前端项目
    • [5.1 jenkins发送公钥](#5.1 jenkins发送公钥)
    • [5.2 配置私钥](#5.2 配置私钥)
    • [5.3 配置jdk](#5.3 配置jdk)
    • [5.4 新建项目test-ruoyi-vue](#5.4 新建项目test-ruoyi-vue)
    • [5.5 配置test-ruoyi-vue](#5.5 配置test-ruoyi-vue)
    • [5.6 拉取测试](#5.6 拉取测试)
    • [5.7 身份认证一直错误](#5.7 身份认证一直错误)
    • [5.8 配置node.js工具](#5.8 配置node.js工具)
    • [5.9 添加前端SSH Server](#5.9 添加前端SSH Server)
    • [5.10 test-ruoyi-vue配置node.js](#5.10 test-ruoyi-vue配置node.js)
    • [5.11 构建测试](#5.11 构建测试)
  • 六、Jenkins构建后端项目
    • [6.1 配置maven工具](#6.1 配置maven工具)
    • [6.2 添加后端SSH-Server](#6.2 添加后端SSH-Server)
    • [6.3 添加后端脚本](#6.3 添加后端脚本)
    • [6.4 新建项目test-ruoyi-vue-backend](#6.4 新建项目test-ruoyi-vue-backend)
    • [6.5 配置test-ruoyi-vue-backend](#6.5 配置test-ruoyi-vue-backend)
    • [6.6 构建测试](#6.6 构建测试)
  • 七、后续测试
    • [7.1 访问页面](#7.1 访问页面)
    • [7.2 代码迭代](#7.2 代码迭代)

前言

如果不懂Jenkins
https://blog.csdn.net/m0_63756214/article/details/155387987?spm=1001.2014.3001.5501


一、若依介绍

1.1 若依是什么

若依是国内最主流的企业级前后端分离开源脚手架,核心定位是「快速搭建中小型业务系统 / 后台管理系统的一站式解决方案」,而非单纯的 "框架"------ 它基于 SpringBoot(后端)+ Vue/React(前端)构建,内置了企业开发中 90% 以上的通用功能,本质是 "开箱即用的项目骨架"

1.2 运维为什么要学习部署若依项目

若依是企业级前后端分离项目的最小通用模型;不用深入写若依的业务代码,重点掌握 "前端打包部署 + 后端 Jar 包运维 + Nginx 配置 + Jenkins 自动化 + 多环境隔离",就能搞定 90% 的若依部署需求,且这些技能可直接迁移到其他前后端分离项目

1.3 若依动静分离典型架构

若依前端(RuoYi-Vue)

前端执行 npm run build:prod 打包生成的 dist 目录(包含 index.html、js、css、img 等);

部署位置:上传到 Nginx 的静态资源目录;

若依后端(Ruoyi-admin)

若依后端打包为 Jar 包,通过 systemd 或脚本托管运行;后端不再直接处理静态资源请求,专注于处理动态请求,如API调用和业务处理

反向代理层(Nginx 核心)

核心作用:屏蔽后端服务器地址,统一请求入口,同时解决前后端跨域问题;

关键逻辑:用户所有请求都先到 Nginx,由 Nginx 判断 "静态 / 动态" 后分流,后端服务器无需暴露公网 IP,提升安全性

数据层(中间件)

MySQL:若依的用户、角色、菜单、业务数据存储,建议开启主从(生产环境)

Redis:若依的会话存储、字典缓存、接口限流,需保证高可用(如哨兵模式)

二、环境介绍

部署前最好先同步时间,关闭防火墙或者开启相应端口

以下服务中,未标注版本的可直接下载;标注版本的也无需严格对应(仅 Jenkins、JDK、Tomcat、Node.js、Maven 存在版本关联)

主机名 IP地址 最低配置 运行服务 作用
gitlab 192.168.136.10 2cpu,内存最少3G gitlab 为developer提供代码推送/拉取服务,为jenkins提供源码拉取地址
developer 192.168.136.20 1cpu,内存0.5G即可 git 模拟开发者修改代码,修改后的代码推送至gitlab远程仓库
jenkins 192.168.136.30 2cpu,内存最少3G jenkins2.504.2,jdk 17,git,tomcat10.1.49,maven3.9.11,node.js16.20.2 核心调度节点,从gitlab拉取代码,打包后分别推送至frontend、backend主机,依赖mysql/redis提供服务支撑
frontend 192.168.136.134 1cpu,内存1G即可 nginx 部署前端静态资源,通过nginx对外提供访问,依赖backend提供接口服务
backend 192.168.136.135 1cpu,内存1G即可 jdk17,mysql连接工具,redis连接工具 部署后端服务,依赖mysql存储业务数据,依赖redis实现缓存功能
mysql 192.168.136.138 1cpu,内存1G即可 mysql 仅为backend提供数据库服务
redis 192.168.136.139 1cpu,内存0.5G即可 redis 为backend提供缓存服务

三、安装服务

3.1 安装软件

本文不涉及软件安装操作演示,相关安装指引请查阅下方文章。后续的所有配置环节,我会为大家进行细致说明

如果对gitlab安装不了解的小伙伴可以看这篇文章
https://blog.csdn.net/m0_63756214/article/details/155531211?spm=1001.2014.3001.5501

要求:有gitlab的账号密码,并能正常登录
如果对jenkins安装不了解的小伙伴可以看这篇文章
https://blog.csdn.net/m0_63756214/article/details/155387987?spm=1001.2014.3001.5501

要求:有Jenkins的账号密码,并能正常登录
如果对nginx安装不了解的小伙伴可以看这篇文章
https://blog.csdn.net/m0_63756214/article/details/151998566?spm=1001.2014.3001.5502

要求:能正常启动nginx,并能访问初始页面即可
如果对mysql安装不了解的小伙伴可以看这篇文章
https://blog.csdn.net/m0_63756214/article/details/154007206?spm=1001.2014.3001.5502

要求:需要有mysql的账号密码,并能正常登录
如果对redis安装不了解的小伙伴可以看这篇文章
https://blog.csdn.net/m0_63756214/article/details/154868788?spm=1001.2014.3001.5502

要求:能正常登录redis,PING-PONG成功即可

3.2 jenkins安装maven,node.js

Maven官网:https://maven.apache.org/
Node.js官网:https://nodejs.org/zh-cn/download

bash 复制代码
#下载maven,node.js我是直接下载到了电脑上,上传到本机的
[root@jenkins ~]# wget https://dlcdn.apache.org/maven/maven-3/3.9.11/binaries/apache-maven-3.9.11-bin.tar.gz  
[root@jenkins ~]# ls
apache-maven-3.9.11-bin.tar.gz  apache-tomcat-10.1.49.tar.gz  jenkins.war  jdk-17.0.17_linux-x64_bin.tar.gz node-v16.20.2-linux-x64.tar.xz
[root@jenkins ~]# tar xf apache-maven-3.9.11-bin.tar.gz -C /usr/local/java/
[root@jenkins ~]# mv /usr/local/java/apache-maven-3.9.11/ /usr/local/java/maven
[root@jenkins ~]# tar xf node-v16.20.2-linux-x64.tar.xz -C /usr/local/
[root@jenkins ~]# mv /usr/local/node-v16.20.2-linux-x64/ /usr/local/node
[root@jenkins ~]# vim /etc/profile  #添加环境变量
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export MAVEN_HOME=/usr/local/java/maven
export NODE_HOME=/usr/local/node
export NODE_PATH=$NODE_HOME/lib/node_modules/
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PATH
[root@jenkins ~]# source /etc/profile
[root@jenkins ~]# mvn -v  #一定要能显示版本,查看maven版本Java项目构建工具
Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
Maven home: /usr/local/java/maven
Java version: 17.0.17, vendor: Oracle Corporation, runtime: /usr/local/java
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
[root@jenkins ~]# node -v  #查看node.js版本;js运行环境
v16.20.2
[root@jenkins ~]# npm -v  #查看npm版本;node.js包管理工具
8.19.4
[root@jenkins ~]# 

3.3 jenkins安装相关插件

除了jenkins的自定义插件,这里还需要下载一些额外的插件,插件安装好后最好重启jenkins
Maven 相关插件:用于后端项目的编译与打包操作
NodeJS 相关插件:实现前端项目的编译与打包流程
Deploy 相关插件:支持将代码自动化部署至 Tomcat 服务器
Git 相关插件:保障与 GitLab 代码仓库的拉取、提交等版本控制操作
SSH 相关插件:通过 SSH 协议完成服务器间的文件传输与远程命令执行


3.4 前端服务器环境配置

bash 复制代码
#frontend机器
root@frontend:~# systemctl restart nginx
root@frontend:~# mkdir -p /opt/project/ruoyi/logs
# Jenkins打包前端代码的存放目录:需先创建/ruoyi/ruoyi-ui
root@frontend:~# mkdir -p /ruoyi/ruoyi-ui  # 因Jenkins打包时会附带dist目录,无需手动创建dist
root@frontend:~# vim  /etc/nginx/nginx.conf  #修改配置文件
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
        worker_connections 768;
}

http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
        gzip on;

server {
    listen 80;
    server_name _;  
    charset utf-8;
    root /ruoyi/ruoyi-ui/dist;
    index index.html index.htm;

    location /prod-api {
        rewrite ^/prod-api/(.*)$ /$1 break;
        proxy_pass http://192.168.136.135:8080/;  #填写后端服务器ip:8080
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_connect_timeout 60s;
        proxy_read_timeout 60s;
        proxy_send_timeout 60s;
    }

    location / {
        try_files $uri $uri/ @router;
    }

    location @router {
        rewrite ^.*$ /index.html last;
    }

    location ~ /\. {
        deny all;
    }
}

}

3.5 后端服务器环境配置

bash 复制代码
#backend机器
root@backend:~# ls
jdk-17.0.17_linux-x64_bin.tar.gz
root@backend:~# tar xf jdk-17.0.17_linux-x64_bin.tar.gz -C /usr/local
root@backend:~# mv /usr/local/jdk-17.0.17/ /usr/local/java
root@backend:~# vim /etc/profile  #添加Java环境变量
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
root@backend:~# source /etc/profile
root@backend:~# java --version  #一定要看到版本
java 17.0.17 2025-10-21 LTS
Java(TM) SE Runtime Environment (build 17.0.17+8-LTS-360)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.17+8-LTS-360, mixed mode, sharing)
#因为后端服务器会连接mysql,redis来进行交互,所以一定要有它们的连接工具
root@backend:~# apt install mariadb-client-core-10.1 #下载连接工具;centos用yum -y install mysql
root@backend:~# apt -y install redis-tools   #下载redis连接工具;centos yum -y install redis 
root@backend:~# mkdir /opt/ruoyi-java 后端服务器jar包存放路径

四、项目准备

现在我们要做的就是:
先在 GitLab 建好test-ruoyi-vue项目,把 Gitee 上的若依项目拉取下来并配置好 MySQL、Redis,再推送至 GitLab,为 Jenkins 拉取代码做准备

4.1 gitlab新建项目test-ruoyi-vue

登录gitlab

此时有了新创建的项目test-ruoyi-vue

4.2 配置若依数据库

4.2.1 拉取若依项目

bash 复制代码
#developer机器
[root@developer ~]# git clone https://gitee.com/y_project/RuoYi-Vue.git   #拉取若依开源项目
[root@developer ~]# ls
RuoYi-Vue  

4.2.2 配置mysql

bash 复制代码
#developer机器
#若依的sql脚本在源码的sql目录下,包含两个核心文件
[root@developer ~]# ls RuoYi-Vue/sql/
quartz.sql  ry_20250522.sql
[root@developer ~]# scp RuoYi-Vue/sql/* 192.168.136.138:/root  #拷贝给mysql数据库机器
bash 复制代码
#mysql机器
root@mysql:~# mysql -uroot -p'Admin@123'

mysql> CREATE DATABASE ruoyi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;   #创建ruoyi数据库,待会把数据导入到此

mysql> quit

root@mysql:~# ls
quartz.sql  ry_20250522.sql
root@mysql:~# mysql -uroot -p'Admin@123' ruoyi < ry_20250522.sql   #导入数据
root@mysql:~# mysql -uroot -p'Admin@123' ruoyi < quartz.sql   #导入数据
root@mysql:~# mysql -uroot -p'Admin@123'

mysql> use ruoyi ; show tables;  #去ruoyi库中看看有没有成功导入数据

mysql> GRANT ALL PRIVILEGES ON ruoyi.* TO 'ruoyi'@'%' IDENTIFIED BY 'Ruoyi@123';  #创建一个用户
bash 复制代码
#后端机器测试能否连接
root@backend:~# mysql -u'ruoyi' -p  -h 192.168.136.138
Enter password:   #输入密码

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ruoyi              |
+--------------------+
2 rows in set (0.08 sec)
bash 复制代码
#developer机器
[root@developer ~]# vim RuoYi-Vue/ruoyi-admin/src/main/resources/application-druid.yml  #修改若依项目的mysql配置

4.2.3 配置redis

bash 复制代码
#redis机器
root@redis:/data/application/redis# nohup src/redis-server redis.conf &  #后台重启redis
root@redis:/data/application/redis# src/redis-cli  进入redis
127.0.0.1:6379> ping
PONG
bash 复制代码
#后端机器测试能否连接
root@backend:~# redis-cli -h 192.168.136.139 -p 6379
192.168.136.139:6379> ping
PONG
192.168.136.139:6379> exit
bash 复制代码
#developer机器
[root@developer ~]# vim RuoYi-Vue/ruoyi-admin/src/main/resources/application.yml   #修改redis配置,填写ip地址和密码

4.3 推送项目

bash 复制代码
#developer机器
[root@developer ~]# git clone http://192.168.136.10/root/test-ruoyi-vue.git  #拉取test-ruoyi-vue空项目
[root@developer ~]# ls
RuoYi-Vue  test-ruoyi-vue
[root@developer ~]# cp -r RuoYi-Vue/* test-ruoyi-vue/
[root@developer ~]# cd test-ruoyi-vue/
[root@developer test-ruoyi-vue]# git add *  #提交到暂存区
[root@developer test-ruoyi-vue]# git commit  -m "初始版本"  #提交到本地仓库
[root@developer test-ruoyi-vue]# git push  origin  #提交到远程仓库

可以看到若依项目已经成功推送到我们自己的gitlab仓库中了

五、Jenkins构建前端项目

现在我们要做的就是:

1,让 Jenkins 生成密钥对,将生成的公钥分别发送至 GitLab 和后端服务器,同时把私钥配置到 Jenkins 上;

2,在 Jenkins 中新建项目test-ruoyi-vue,并完成该项目的相关配置,保证项目代码能成功拉取到 Jenkins 本地默认工作目录.jenkins/workspace/

3,对拉取到本地的项目前端代码进行打包操作,并将打包产物发送至专门的前端代码接收服务器frontend

5.1 jenkins发送公钥

bash 复制代码
[root@jenkins ~]# ssh-keygen  #一直回车,生成密钥对
[root@jenkins ~]# ls .ssh/
id_rsa  id_rsa.pub  
#GitLab 需要验证 "是不是合法的 Jenkins 来拉代码",所以 GitLab 存着 Jenkins 的公钥
[root@jenkins ~]# cat .ssh/id_rsa.pub #复制公钥到gitlab上
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDG/l6ockNK+ZUIXdAVb6jZetMQWD24KniFe+bPqXgWWOkzrq1qafvPhWfwNMf4Gaxdu9WftKvQARQUyDoGOZYT2RB+aCkXo5ZRFuGDHlN+pclAahiAoKvqhj7LxEd029t4iqTxBy33ySqVCWjrGlki+s05RlRR7UofNix4q/+emsezfuMAEBfzQYtw6OESRtPryRvpRGVtx5QxNp46Skfm9NWw0Yjip1dL5h804fbz5xpecS/JrS2qPICvWmB0kFFVz0xiUpuNF+UF0jsfsnN6SSh4vHDpMkdHFiMKV/MN/nNPkQn6Uc8Zot7KqlU2y6juAwCVFvlyuhYQYVsi1TRJ root@jenkins
#可以顺便把公钥拷贝给前后端服务器
#后端服务器需要验证 "是不是合法的 Jenkins 来推送打包文件",所以后端服务器存着 Jenkins 的公钥
[root@jenkins ~]# ssh-copy-id root@192.168.136.134  #拷贝给前端服务器
[root@jenkins ~]# ssh-copy-id root@192.168.136.135  #拷贝给后端服务器

打开gitlab,按下图操作粘贴公钥

5.2 配置私钥

当 GitLab / 后端服务器需要验证 Jenkins 身份时,Jenkins 需要用私钥做加密响应,证明 "我是可信的 Jenkins",所以要把私钥配置到Jenkins上

选择"Manage Jenkins"

下拉找到"System"

下拉找到"Publish over SSH";点击"Save"是保存并退出,点击"应用"是保存

5.3 配置jdk

选择"Manage Jenkins"

下拉找到"Tools"

下拉找到"JDK安装"

5.4 新建项目test-ruoyi-vue


5.5 配置test-ruoyi-vue

下拉找到"Discard old builds"

去gitlab上复制SSH的拉取代码

找到"源码管理"


5.6 拉取测试


bash 复制代码
#Jenkins 已经完成了代码拉取和代码检出操作,出现在指定的工作空间/root/.jenkins/workspace/test-ruoyi-vue中
[root@jenkins ~]# ls .jenkins/workspace/test-ruoyi-vue  #成功拉取代码
bin  LICENSE  README.md    ruoyi-common     ruoyi-generator  ruoyi-system  ry.bat  sql
doc  pom.xml  ruoyi-admin  ruoyi-framework  ruoyi-quartz     ruoyi-ui      ry.sh

5.7 身份认证一直错误

如果按照我的步骤操作下来,此处还是报错,可以检查一下自己的公私钥是否粘贴正确;用户名称是否填写正确;排除以上错误还是报错,可以试一下下面的方法

选择"Manage Jenkins"

下拉找到"Security"

下拉找到"Host Key Verification Strategy"

保存后,试着构建一次看看还有没有错误

5.8 配置node.js工具

下拉找到"Tools"

下拉找到"NodeJS",没找到就是没有安装node.js的相关插件,填写完毕后点击"Save"

5.9 添加前端SSH Server

然后下拉找到"System"点击,然后下拉找到"SSH Server"

5.10 test-ruoyi-vue配置node.js

下拉找到"Build Steps",选择执行shell,这些语句是在Jenkins上执行的


5.11 构建测试

构建测试一下,看能不能成功

六、Jenkins构建后端项目

现在我们要做的就是:

1,基于前文已实现的 "Jenkins 将代码拉取至默认工作目录.jenkins/workspace/" 这一前提,在 Jenkins 中新建项目test-ruoyi-vue-backend

2,配置该 Jenkins 项目,使其具备将拉取到本地的项目后端代码打包并推送至后端服务器backend的能力

3,在backend服务器上部署脚本,用于检测若依服务的相关状态(如运行、端口、进程等)

6.1 配置maven工具

下拉找到"Tools"

下拉找到"Maven",没找到就是没有安装maven的相关插件

6.2 添加后端SSH-Server

下拉找到"SSH Server",再添加一个

6.3 添加后端脚本

bash 复制代码
root@backend:~# vim /opt/ruoyi-java/java.sh
#!/bin/bash
# 若依后端启动/重启脚本
# 配置项(根据实际情况修改)
APP_NAME="ruoyi-admin"
JAR_PATH="/opt/ruoyi-java/ruoyi-admin.jar"
LOG_PATH="/opt/ruoyi-java/logs/ruoyi-admin.log"  # 日志路径,需确保目录存在
JAVA_PATH="/usr/local/java/bin/java"
PORT=8080  # 后端服务端口,用于检测是否被占用

# 创建日志目录(如果不存在)
mkdir -p $(dirname $LOG_PATH)

# 1. 查找并关闭旧进程
ruoyi_pid=$(ps -ef | grep "$APP_NAME" | grep -v "grep" | awk '{print $2}')
if [[ -n $ruoyi_pid ]]; then
    echo "===== 发现若依后端服务PID: $ruoyi_pid,正在关闭 ====="
    kill -15 $ruoyi_pid
    # 等待5秒,让旧进程完全退出
    sleep 5
    # 检查是否还存在进程,若存在则强制杀死
    ruoyi_pid=$(ps -ef | grep "$APP_NAME" | grep -v "grep" | awk '{print $2}')
    if [[ -n $ruoyi_pid ]]; then
        echo "===== 旧进程未正常退出,强制杀死 ====="
        kill -9 $ruoyi_pid
        sleep 2
    fi
    echo "===== 若依后端服务已关闭 ====="
fi

# 2. 检测端口是否被占用
port_pid=$(lsof -i:$PORT | grep -v "PID" | awk '{print $2}')
if [[ -n $port_pid ]]; then
    echo "===== 端口$PORT被占用(PID: $port_pid),强制释放 ====="
    kill -9 $port_pid
    sleep 2
fi

# 3. 启动新服务(添加JVM内存参数,根据服务器配置调整),-Dspring.redis.host后面接redis ip
echo "===== 正在启动若依后端服务 ====="
nohup $JAVA_PATH -Xms512m -Xmx1024m  -Djava.awt.headless=true  -Dsun.font.path=/usr/share/fonts  -Dspring.redis.host=192.168.136.139  -jar $JAR_PATH > $LOG_PATH 2>&1 &
# 等待3秒,让服务启动
sleep 3

# 4. 检查启动是否成功
ruoyi_pid=$(ps -ef | grep "$APP_NAME" | grep -v "grep" | awk '{print $2}')
if [[ -n $ruoyi_pid ]]; then
    echo "===== 若依后端服务启动成功,PID: $ruoyi_pid ====="
    echo "日志路径: $LOG_PATH"
else
    echo "===== 若依后端服务启动失败,请查看日志: $LOG_PATH ====="
    exit 1
fi
root@backend:~# chmod +x /opt/ruoyi-java/java.sh  #给脚本执行权限

6.4 新建项目test-ruoyi-vue-backend

6.5 配置test-ruoyi-vue-backend

同样去gitlab上复制ssh代码

在test-ruoyi-vue-bakcend中找到"源码管理"

下拉找到"Build Steps",选择执行shell,这些语句是在Jenkins上执行的

6.6 构建测试

七、后续测试

7.1 访问页面

输入前端ip就可以看到下面的页面
注:不要扫页面右下角出现的付款码,此码不是本人的,谨防别骗!!!

7.2 代码迭代

目前的页面是现在这样

模拟开发人员修改代码,然后推送都远程仓库,然后直接在Jenkins上构建,看能不能成功

bash 复制代码
#开发人员
[root@developer ~]# git clone http://192.168.136.10/root/test-ruoyi-vue.git  #拉取代码
[root@developer ~]# ls
test-ruoyi-vue
[root@developer ~]# cd test-ruoyi-vue/
[root@developer test-ruoyi-vue]# vim ruoyi-ui/src/views/index.vue  #修改前端页面
bash 复制代码
[root@developer test-ruoyi-vue]# git add *
[root@developer test-ruoyi-vue]# git commit  -m "修改了前端页面"
[root@developer test-ruoyi-vue]# git push  origin

由于我们之前已经配置好了,现在只需要直接构建即可

访问页面,发现已经更新了


注:

文中若有疏漏,欢迎大家指正赐教。

本文为100%原创,转载请务必标注原创作者,尊重劳动成果。

后续会出若依项目没有验证码的相关问题,感兴趣的小伙伴可以蹲一下,大概一天后就发文章

求赞、求关注、求评论!你的支持是我更新的最大动力,评论区等你~

相关推荐
奔跑的呱呱牛6 小时前
前端/Node.js操作Excel实战:使用@giszhc/xlsx(导入+导出全流程)
前端·node.js·excel·xlsx·sheetjs
AscendKing6 小时前
一款开源、本地部署的 SSL 证书自动化管理工具Certimate介绍 部署教程
开源·自动化·ssl
何中应6 小时前
Alertmanager设置邮件通知
运维·自动化·prometheus
星马梦缘7 小时前
运动控制系统(四)-转速闭环系统的反馈控制规律
自动化·pid·自动控制·传递函数·比例控制·劳斯-赫尔维茨稳定性判据
xuhaoyu_cpp_java7 小时前
Maven学习(一)
java·经验分享·笔记·学习·maven
Southern Wind7 小时前
AI Skill Server 动态技能中台
前端·后端·mysql·node.js
在路上走着走着7 小时前
openclaw v2026.4.5 版本 提示 pairing required 解决方案
gitlab
卓怡学长8 小时前
m320基于Java的网络音乐系统的设计与实现
java·数据库·spring·tomcat·maven
Arvin6278 小时前
Jenkins 任务执行完成后会kill掉的衍生进程
运维·servlet·jenkins
水云桐程序员8 小时前
电子自动化技术(EDA技术)FPGA概述
运维·fpga开发·自动化