关于linux:IDEA使用Alibaba-Cloud-Toolkit-发布SpringBoot项目到云服务器

51次阅读

共计 2005 个字符,预计需要花费 6 分钟才能阅读完成。

软件装置

1. 关上 File->Plugins->Marketplace

2. 搜寻 Alibaba Cloud Toolkit

3. 装置胜利后重启 IDEA

咱们能够看到 Tools 有 Alibaba Cloud 选项了,而咱们须要用的是 Deploy to Host… 这个性能

配置服务器

点击 Deploy to Host,如果你之前没有配置过服务器 SSH 信息,这里须要先进行配置

配置公布信息

因为服务器上没有装置 Maven,我这里利用 IDEA 打包后,将包上传到服务器指定门路

maven 打包指令

clean package -Dmaven.test.skip=true

jar 包备份 (这里咱们备份 jar 包名加上工夫戳)

mv /usr/local/yee-admin/yee-admin.jar /usr/local/yee-admin/yee-admin-`date +%Y%m%d-%H%M%S`.jar 

查看日志指令

tail -200f /data/logs/yee-admin/info.log

执行公布

能够看到首先执行 Maven 打包

打包胜利之后,上传 jar 到服务器

上传胜利之后执行了 service.sh 脚本,咱们能够看到近程服务器上的启动日志

咱们登录服务器,服务失常启动,同时原先的 jar 包也曾经备份好了

服务启动脚本 service.sh,依据理论状况批改

#!/usr/bin/env bash

JAR_PATH=`pwd`;

#进行利用检测间隔时间 (秒)
SLEEP_TIME=5;

#每个我的项目门路下 xxxxx.jar 的名称
JAR_NAME="yee-admin.jar";

#以后这个利用启动端口号
#PORT=8801;
#-Dserver.port=$PORT


#零碎中 java 和 jps 命令门路
JAVA="/usr/java/default/bin/java";
JPS="/usr/java/default/bin/jps";


#if ["$USER" == "root"]; then
#    echo "不能应用 root 用户启动";
#    exit 1;
#fi

function pid(){echo `$JPS | grep $JAR_NAME | awk '{print $1}'`;
}


function service_start(){
$JAVA -Xms300M -Xmx300M -Xss512k -XX:PermSize=256M -XX:MaxPermSize=256M \
   -jar "$JAR_PATH/$JAR_NAME" --spring.profiles.active=prod > /dev/null 2>&1 &
}


function service_stop(){
    pid=`pid`;
    if [-n "$pid"]; then
        echo "$JAR_NAME is Killing($pid)";
        #通过 springboot 提供 http 接口进行利用
        # http_code=`curl -X POST -o /dev/null -s -w %{http_code} 127.0.0.1:$PORT/shutdown`;
        # sleep $SLEEP_TIME;
        pid=`pid`;
        #如果 springboot 提供 http 接口没有进行利用,则 kill 过程 id
        if [-n "$pid"]; then
            kill $pid;
        fi
        sleep $SLEEP_TIME;
        pid=`pid`;
        #如果 kill 过程 id 不胜利,则 kill -9
        if [-n "$pid"]; then
            kill -9 $pid;
        fi
    else
        echo "$JAR_NAME was not Running";
    fi
}


case $1 in
    "start")
        pid=`pid`;
        if [-n "$pid"];then
            echo "$JAR_NAME is already Started";
            exit 1;
        fi
        service_start;
        pid=`pid`;
        if [-z "$pid"];then
            echo "$JAR_NAME start Fail!";
            exit 1;
        else
            echo "$JAR_NAME is Started!";
            exit 0;
        fi
        ;;
    "stop")
        service_stop;
        pid=`pid`;
        if [-n "$pid"];then
            echo "$JAR_NAME stop Fail!";
            exit 1;
        else
            echo "$JAR_NAME is Stoped!";
            exit 0;
        fi
        ;;
    "restart")
        service_stop;
        pid=`pid`;
        if [-n "$pid"];then
            echo "$JAR_NAME stop Fail!";
            exit 1;
        else
            echo "$JAR_NAME is Stoped!";
        fi
        service_start;
        pid=`pid`;
        if [-z "$pid"];then
            echo "$JAR_NAME start Fail!";
            exit 1;
        else
            echo "$JAR_NAME is Started!";
            exit 0;
        fi
        ;;
esac

如启动报语法错误需 set ff = unix

正文完
 0