【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

易理坚发布于 40 分钟前

软件安装

1.打开File->Plugins->Marketplace

2.搜索Alibaba Cloud Toolkit

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

3.安装成功后重启IDEA

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

我们可以看到Tools有Alibaba Cloud 选项了,而我们需要用的是Deploy to Host...这个功能

配置服务器

点击Deploy to Host,如果你之前没有配置过服务器SSH信息,这里需要先进行配置
【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

配置发布信息

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

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

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打包
【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

打包成功之后,上传jar到服务器

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

上传成功之后执行了service.sh脚本,我们可以看到远程服务器上的启动日志

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

我们登录服务器,服务正常启动,同时原先的jar包也已经备份好了
【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

服务启动脚本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

linuxjavaspringboot

阅读 18发布于 40 分钟前

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议

avatar

易理坚

java工具人

1 声望

0 粉丝

0 条评论

得票时间

avatar

易理坚

java工具人

1 声望

0 粉丝

宣传栏

软件安装

1.打开File->Plugins->Marketplace

2.搜索Alibaba Cloud Toolkit

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

3.安装成功后重启IDEA

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

我们可以看到Tools有Alibaba Cloud 选项了,而我们需要用的是Deploy to Host...这个功能

配置服务器

点击Deploy to Host,如果你之前没有配置过服务器SSH信息,这里需要先进行配置
【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

配置发布信息

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

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

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打包
【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

打包成功之后,上传jar到服务器

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

上传成功之后执行了service.sh脚本,我们可以看到远程服务器上的启动日志

【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

我们登录服务器,服务正常启动,同时原先的jar包也已经备份好了
【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器

服务启动脚本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

以上是 【Java】IDEA使用Alibaba Cloud Toolkit 发布SpringBoot项目到云服务器 的全部内容, 来源链接: utcz.com/a/105500.html

回到顶部