mvn -B clean package -pl ruoyi-admin -am -Dmaven.test.skip=true -Dautoconfig.skip
项目名称和pom文件中保持一致,都叫ruoyi-admin
pom中的这个,也保持一致
指定target下的jar包位置
指定deploy.sh的位置
将deploy.sh的APP_HOME中的XXX替换成项目目录
!/bin/bash
PROG_NAME=$0
ACTION=$1
ENV=$2
# 修改APP_NAME为云效上的应用名
APP_NAME=ruoyi-admin
# JAR文件名称
JAR_NAME=ruoyi-admin.jar
APP_START_TIMEOUT=60 # 等待应用启动的时间
APP_PORT=8090 # 应用端口
HEALTH_CHECK_URL=http://127.0.0.1:${APP_PORT}/actuator/health # 应用健康检查URL
APP_HOME=/home/XXX/${APP_NAME} # 从package.tgz中解压出来的jar包放到这个目录下
IN_TARGET_PATH=${APP_HOME}/ruoyi-admin
PID_FILE=${APP_HOME}/pid # 应用的pid会保存到这个文件中
usage() {
echo "Usage: $PROG_NAME {start|stop|restart}"
exit 2
}
health_check() {
exptime=0
echo "health_checking ${HEALTH_CHECK_URL}"
while true
do
status_code=`/usr/bin/curl -L -o /dev/null --connect-timeout 5 -s -w %{http_code} ${HEALTH_CHECK_URL}`
if [ "$?" != "0" ]; then
echo -n -e "rapplication not started"
else
echo "code is $status_code"
if [ "$status_code" == "200" ];then
break
fi
fi
sleep 1
((exptime++))
echo -e "rWait app to pass health check: $exptime..."
if [ $exptime -gt ${APP_START_TIMEOUT} ]; then
echo 'app start failed'
exit 1
fi
done
echo "check ${HEALTH_CHECK_URL} success"
}
start_application() {
if [ -d "${IN_TARGET_PATH}" ]; then
# 将deploy和jar文件整理到同一个目录下
mv -f ${IN_TARGET_PATH}/target/* ${APP_HOME}
mv -f ${IN_TARGET_PATH}/deploy.sh ${APP_HOME}
rm -rf ${IN_TARGET_PATH}
fi
if [ -f "$PID_FILE" ] && kill -0 "$(cat ${PID_FILE})"; then
echo "Application is running, exit"
exit 0
fi
echo "starting java process from ${JAR_NAME} ${ENV}"
nohup java -jar -Dspring.profiles.active=${ENV} ${APP_HOME}/${JAR_NAME} > /dev/null 2>&1 &
echo "started java process"
echo $! > ${PID_FILE}
}
stop_application() {
echo "stop jar"
sleep 5
if [ -f "$PID_FILE" ]; then
kill -9 `cat $PID_FILE`
rm $PID_FILE
else
echo "pid file $PID_FILE does not exist, do noting"
fi
}
start() {
start_application
health_check
}
stop() {
stop_application
}
case "$ACTION" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
usage
;;
esac
配置部署信息
部署脚本:
mkdir -p /home/XXX/ruoyi-admin tar zxvf /home/XXX/app/admin-package.tgz -C /home/XXX/ruoyi-admin sh /home/XXX/ruoyi-admin/deploy.sh restart pro
新建文件夹—解压到该文件夹中—执行解压文件中的脚本文件,环境是pro环境
云效中配置的下载路径,要和部署脚本中的解压路径对应
云效配置中的主机组,可以购买阿里云服务器ecs,同一个账号,买完这里自动就能获取到
脚本中的pro,和项目中的配置文件后缀pro对应
云服务器中,需要安装:jdk,mysql
前端服务 配置代码源 node.js构建cd ruoyi-ui npm install --registry=https://registry.npm.taobao.org npm run build:stage
脚本中的build:stage,要和代码中中的这里对应上
打包路径要修改对了
ruoyi-ui/dist/
mkdir -p /home/XXX/admin-ui tar zxvf /home/XXX/app/admin-ui-package.tgz -C /home/XXX/admin-ui
前端代码是静态文件,放在这个位置就好
这个文件夹位置,要和nginx中的root 后面对应的位置相同
云服务器中,需要安装:nginx
并且配置好nginx



