下载插件
搜索 Alibaba Cloud Toolkit 插件,并安装。

IDEA 配置 Run/Debug Configurations
依次点击 Add New Configuration -> Deploy to Host
在 Target Host 处点击 Add Host

填写主机的 IP、端口、用户名和密码,并测试连接状态。

选择刚才添加的主机 IP,然后配置以下两项:
填写 Target Directory
这是 jar 包部署到服务器上的目录,例如:
/home/aics/aics
填写 After deploy
我们需要先在
/home/aics/aics目录下放上启动脚本restart.sh(脚本具体内容附在文末)。 所以这里运行的命令可以写./restart.sh restart。 注意,该脚本需要有执行权限,记得提前执行chmod a+x restart.sh。

最终配置如下:

另外,也可以配置 Advanced 选项,用来在部署后查看 jar 包启动的日志:

启动脚本
使用时请根据实际情况修改
APP_NAME和PROJECT_PATH配置。
sh
#!/bin/bash
# 这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=qetesh-speechskill.jar
# jar包地址
PROJECT_PATH=/Users/mulyzhou/soft
# 日志输出地址
# LOG_PATH=/root/soft/push-weather/nohup.out
# 使用说明,用来提示输入参数
usage() {
echo "Usage: sh $0 [start|stop|restart|status]"
exit 1
}
# 检查程序是否在运行
is_exist() {
pid=$(ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}')
# 如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
# 启动方法
start() {
is_exist
if [ $? -eq 0 ]; then
echo "${APP_NAME} is already running. pid=${pid}."
else
nohup java -jar $PROJECT_PATH/$APP_NAME >$PROJECT_PATH/nohup.out 2>&1 &
echo "${APP_NAME} start success."
fi
}
# 停止方法
stop() {
is_exist
if [ $? -eq 0 ]; then
kill -9 $pid
echo "${APP_NAME} stopped."
else
echo "${APP_NAME} is not running."
fi
}
# 输出运行状态
status() {
is_exist
if [ $? -eq 0 ]; then
echo "${APP_NAME} is running. Pid is ${pid}."
else
echo "${APP_NAME} is NOT running."
fi
}
# 重启
restart() {
stop
start
}
# 根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac

评论 0
可以先写评论,登录后草稿会自动恢复。