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%原创,转载请务必标注原创作者,尊重劳动成果。

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

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

相关推荐
声声长乐1 小时前
Jenkins + Docker 完整部署指南
ubuntu·docker·jenkins
古斯塔夫歼星炮1 小时前
Dify + Jenkins 实现AI应用持续集成与自动化部署
ci/cd·jenkins·dify
WoodyPhang5 小时前
转载:自动化挂机,轻松建设:“养老院”邦国推出智能Bot服务平台,专为邦国崛起玩家设计
自动化
shughui5 小时前
Docker Desktop下载、安装、配置、使用
运维·docker·容器·自动化
折七7 小时前
NestJS 用了两年,我换了这个
typescript·node.js·nestjs
Mr_li8 小时前
Nestjs 中 Provider 的注入方式扫盲,解决你的选择困难症
node.js
Mr_li8 小时前
一文吃透 Nestjs 动态模块之 register、forRoot、forFeature
node.js
琅琊榜首20208 小时前
移动端AI挂机新范式:YOLOv8+NCNN实现无Root视觉自动化
人工智能·yolo·自动化
Wpa.wk9 小时前
har文件转为接口自动化测试用例
运维·测试工具·自动化·测试用例·接口自动化