栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

若依前后分离项目,发布在阿里云效中

若依前后分离项目,发布在阿里云效中

后端服务 配置代码源

配置构建信息


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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721606.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号