IDEA使用阿里Cloud Toolkit插件+maven一键更新Springboot服务

本文详细介绍使用CloudToolkit插件进行Java应用的远程部署过程,包括服务器配置、上传操作及服务启停步骤。同时,提供了两种启动脚本方式,以及jar和war包在Windows和Linux环境下的启动命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 IDEA下载 Cloud Toolkit 插件

在这里插入图片描述

2 配置远程服务器

在这里插入图片描述

在这里插入图片描述
这是我配置好了的
在这里插入图片描述
然后选取刚刚配置好的服务器进行上传前置,后置操作,包括切换服务器文件目录服务停机与启动

方式一

在这里插入图片描述在这里插入图片描述
最后配置好了点击启动即可
在这里插入图片描述
启动脚本./start

#!/bin/sh

APP_NAME="producer-0.0.1-SNAPSHOT"
#JAVA_OPT="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8981"
#-Xms256m -Xmx512m -Djava.compiler=NONE
JAVA_OPT="-Xms512m -Xmx1024m -Xss256k"

#has started
tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo "error: ${APP_NAME} has started"
   exit 1
fi

rm -f tpid
nohup java ${JAVA_OPT} -jar "${APP_NAME}.jar"  > nohup.out 2>&1 &

echo $! > tpid
echo Start Success!

关闭脚本./stop

#!/bin/sh

APP_NAME="producer-0.0.1-SNAPSHOT"

tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo 'Stop Process...'
    kill -15 ${tpid}
else
     echo "error: ${APP_NAME} not found"
     exit 1
fi

sleep 5

tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo 'Kill Process!'
    kill -9 ${tpid}
else
    echo 'Stop Success!'
fi

方式二

只配置重启脚本
在这里插入图片描述
在这里插入图片描述

#!/bin/sh

APP_NAME="gateway-1.0.0-SNAPSHOT"
#JAVA_OPT="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8981"
#-Xms256m -Xmx512m -Djava.compiler=NONE
JAVA_OPT="-Xms256m -Xmx512m -Xss256k"

#has stoped
tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo 'Stop Process...'
    kill -15 ${tpid}
    sleep 5
else
     echo "error: ${APP_NAME} not found"
fi


tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo 'Kill Process!'
    kill -9 ${tpid}
else
    echo 'Stop Success!'
fi

#has started
tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo "error: ${APP_NAME} has started"
   exit 1
fi

rm -f tpid
nohup java ${JAVA_OPT} -jar "${APP_NAME}.jar"  > nohup.out 2>&1 &

echo $! > tpid
echo Start Success!

下面附上jar包和war包的启动命令,需要的同学可以参考一下。

war包命令:
Windows:
先根据端口号停止服务,然后执行 shutdown.bat 和 startup.bat ,就可以重启tomcat‘

chcp 65001
@echo off&color 2
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
exit /B
:UACAdmin
cd /d "%~dp0"
echo 当前运行路径是:%CD%
echo 已获取管理员权限

 for %%a in (8088) do (
    set pid=0
    for /f "tokens=2,5" %%b in ('netstat -ano ^| findstr ":%%a"') do (
        set temp=%%b
        for /f "usebackq delims=: tokens=1,2" %%i in (`set temp`) do (
            if %%j==%%a (
                taskkill /f /pid %%c
                set pid=%%c
                echo 端口号【%%a】相关进程以杀死
            ) else (
                echo 不是本机占用端口【%%a】
            )
        )
    )
    if !pid!==0 (
       echo 端口号【%%a】没有占用
    )
)
cd /d "D:\tomcat\apache-tomcat-8.5.73\bin"  
title Tomcat重新启动脚本  
call "shutdown.bat"
call "startup.bat"
exit

Linux:

#!/bin/sh
#定义tomcat路径变量:完整路径或最后级路径文件夹都可以
tomcat_path='/usr/dev/tomcat'
#获取 tomcat_path 所知tomcat 的进程ID
TomcatID=$(ps -ef |grep tomcat |grep -w $tomcat_path|grep -v 'grep'|awk '{print $2}')
echo "##############################################开始重启Tomcat Server[$tomcat_path、进程ID:$TomcatID]################################################"
#判断进程是否存在  注意空格,if用法参照http://blog.chinaunix.net/uid-20735106-id-3434959.html
if [ "$TomcatID" != "" ] ; then
  echo "Tomcat Server[$tomcat_path、进程ID:$TomcatID] Was Started! Begin To Shutdown Tomcat Server!"
  sh /usr/dev/tomcat/bin/shutdown.sh
  echo "Tomcat Server[$tomcat_path] Was Shutdown! Begin To Restart Tomcat Server!"
  sh /usr/dev/tomcat/bin/startup.sh
  echo "Tomcat Server[$tomcat_path] Was Started!"
else
  echo "Tomcat Server[$tomcat_path] Has Not Started! Begin to Start Tomcat Server!"
  sh /usr/dev/tomcat/bin/startup.sh
  echo "Tomcat Server[$tomcat_path] Was Started!"
fi
NewTomcatID=$(ps -ef |grep tomcat |grep -w $tomcat_path|grep -v 'grep'|awk '{print $2}')
if [ "$NewTomcatID" != "" ] ; then
  echo "#############################################Success:Tomcat Server[$tomcat_path、进程ID:$NewTomcatID]重启完毕!#############################################"
else
  echo "################################################Fail:Tomcat Server[$tomcat_path]重启失败!############################################"
fi

jar包命令:
Windows:

TITLE chery-acl
set name=honlitech-cloud-acl-application-2.0.0-SNAPSHOT
set active=local
set port=1140

mode con cols=100
chcp 65001
@echo off&color 0
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '0' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
%1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&exit
exit /B
:UACAdmin
cd /d "%~dp0"
echo path:%CD%

//关闭java进程
for %%a in (%port%) do (
    set pid=0
    for /f "tokens=2,5" %%b in ('netstat -ano ^| findstr ":%%a"') do (
        set temp=%%b
        for /f "usebackq delims=: tokens=1,2" %%i in (`set temp`) do (
            if %%j==%%a (
                taskkill /f /pid %%c
                set pid=%%c
                echo success kill port:%prot%【%%a】
            ) else (
                echo port:%prot% not use【%%a】
            )
        )
    )
    if !pid!==0 (
        echo port:%prot% not use【%%a】
    )
)
echo close java project --------------------------------------------
//为了保险起见等待进程3s关闭结束
ping 127.0.0.1 -n 3
echo start java project name=%name%,active=%active%,port:%port%
java -Xms128m -Xmx256m -Xss256k -jar -Dspring.profiles.active=%active%  -DHONLITECH-EUREAK-HOSTS=http://192.168.1.227:1105/eureka/ -DHONLITECH-CONFIG-URI=http://192.168.1.227:1115 %name%.jar --server.port=%port%
exit

Linux:
根据jar包名称停止进程并启动

#!/bin/sh

APP_NAME="gateway-1.0.0-SNAPSHOT"
#JAVA_OPT="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8981"
#-Xms256m -Xmx512m -Djava.compiler=NONE
JAVA_OPT="-Xms256m -Xmx512m -Xss256k"

#has stoped
tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo 'Stop Process...'
    kill -15 ${tpid}
    sleep 5
else
     echo "error: ${APP_NAME} not found"
fi


tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo 'Kill Process!'
    kill -9 ${tpid}
else
    echo 'Stop Success!'
fi

#has started
tpid=`ps -ef|grep ${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ ${tpid} ]]; then
    echo "error: ${APP_NAME} has started"
   exit 1
fi

rm -f tpid
nohup java ${JAVA_OPT} -jar "${APP_NAME}.jar"  > nohup.out 2>&1 &

echo $! > tpid
echo Start Success!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值