项目参考
若依分离版:介绍 | RuoYi
若依微服务版:介绍 | RuoYi
基础软件环境构建
在测试环境安装基础软件
》jdk maven 安装
》git gitlab 安装
》mysql 安装
mysql安装1
》redis 安装
redis安装1
》nginx 安装
》node 安装
》jenkins 安装
jenkins安装1
》nacos 安装
部署分离版
jenkins配置
部署后端
# 进入存放项目的文件夹
cd /home/workspace/ry-test
# 停止正在运行的旧版本项目 shell脚本
sed -i 's/\r$//' stop.sh
sh stop.sh
# 替换编译后的jar包 shell脚本
sed -i 's/\r$//' replace.sh
sh replace.sh
#启动新编译打包的项目
BUILD_ID=dontKillMe nohup java -jar ruoyi-admin.jar --spring.profiles.active=test --server.port=8083 > log.out &
部署前端
#部署后台对应的前端
cd /root/.jenkins/workspace/ry-test/ruoyi-ui
npm install --registry=https://registry.npmmirror.com
rm -rf ./dist/*
export NODE_OPTIONS=--openssl-legacy-provider
npm run build:stage
rm -rf /var/www/ry-test/dist/*
cp -rf ./dist/* /var/www/ry-test/dist
chmod -R 777 /var/www/ry-test/dist
stop.sh
#!/bin/sh
pid=`ps -ef | grep ruoyi-admin.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
replace.sh
#!/bin/sh
file="/home/workspace/ry-test/ruoyi-admin.jar"
if [ -f "$file" ]
then
mv /home/workspace/ry-test/ruoyi-admin.jar /home/workspace/ry-test/ruoyi-admin.jar.`date +%Y%m%d%H%M%S`
fi
mv /root/.jenkins/workspace/ry-test/ruoyi-admin/target/ruoyi-admin.jar /home/workspace/ry-test/
运行
部署微服务版
jenkins配置
部署后端
# 停止服务及搬运jar
sed -i 's/\r$//' /home/workspace/RY-Cloud/copy.sh
sh /home/workspace/RY-Cloud/copy.sh
# 启动jar
cd /home/workspace/RY-Cloud/jar
chmod -R 755 *.jar
BUILD_ID=dontKillMe nohup java -jar ruoyi-gateway.jar --server.port=8080 > gateway.out &
sleep 20
BUILD_ID=dontKillMe nohup java -jar ruoyi-auth.jar --server.port=9200 > auth.out &
sleep 20
BUILD_ID=dontKillMe nohup java -jar ruoyi-modules-system.jar --server.port=9201 > system.out &
sleep 20
BUILD_ID=dontKillMe nohup java -jar ruoyi-modules-sidecar.jar --server.port=7200 > sidecar.out &
sleep 20
部署前端
# 构建前端项目
cd /root/.jenkins/workspace/RY-Cloud/ruoyi-ui
npm install --registry=https://registry.npmmirror.com
rm -rf ./dist/*
export NODE_OPTIONS=--openssl-legacy-provider
npm run build:stage
# 部署到nginx
rm -rf /var/www/RY-Cloud/dist/*
cp -rf ./dist/* /var/www/RY-Cloud/dist
chmod -R 777 /var/www/RY-Cloud/dist
copy.sh
#!/bin/sh
# stop jar
pid1=$(ps -ef | grep ruoyi-gateway.jar | grep -v grep | awk '{print $2}')
if [ -n "$pid1" ]
then
kill -9 $pid1
echo "kill ruoyi-gateway success"
fi
pid2=$(ps -ef | grep ruoyi-auth.jar | grep -v grep | awk '{print $2}')
if [ -n "$pid2" ]
then
kill -9 $pid2
echo "kill ruoyi-auth success"
fi
pid3=$(ps -ef | grep ruoyi-modules-system.jar | grep -v grep | awk '{print $2}')
if [ -n "$pid3" ]
then
kill -9 $pid3
echo "kill ruoyi-modules-system success"
fi
pid4=$(ps -ef | grep ruoyi-modules-sidecar.jar | grep -v grep | awk '{print $2}')
if [ -n "$pid4" ]
then
kill -9 $pid4
echo "kill ruoyi-modules-sidecar success"
fi
# copy jar
cd /root/.jenkins/workspace/RY-Cloud
echo "begin copy ruoyi-gateway "
cp ./ruoyi-gateway/target/ruoyi-gateway.jar /home/workspace/RY-Cloud/jar
echo "begin copy ruoyi-auth "
cp ./ruoyi-auth/target/ruoyi-auth.jar /home/workspace/RY-Cloud/jar
echo "begin copy ruoyi-modules-system "
cp ./ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar /home/workspace/RY-Cloud/jar
echo "begin copy ruoyi-modules-sidecar "
cp ./ruoyi-modules/ruoyi-sidecar/target/ruoyi-modules-sidecar.jar /home/workspace/RY-Cloud/jar