【IDEA】自动部署SpringBoot Jar包到远程服务器并通过脚本启动jar
文章目录
- 前言
- 一.Deployment使用
- 二.ssh使用
- 三.启动脚本
前言
IDEA版本: 2019.3
一.Deployment使用
IDRA原生的Deployment不需要离开idea就可以直接将项目部署到远程运行,同时拥有远程视图窗口…
温馨小提示:其它的一些连接软件还有如下等
1.打开连接远程服务器信息:Tools->Deployment->Configuration
2. 选择为SFTP
,并设置配置信息名称
- 配置连接远程服务器信息
配置好之后Tools->Deployment->Configuration->Browse Romote Host
查看服务器文件目录文件
并且可以右键服务器上的文件进行增删改查
也可以通过项目右击Deployment上传文件到服务器
,此时文件会上传到之前 Deployment path 映射的目录下。
也可以直接通过idea查看映射到服务器上的文件和本地路径中的文件是否相同
二.ssh使用
Tools->Start SSH session
配置ssh开启远程终端连接
-
配置ssh信息
-
可沿用Deployment配置信息
三.启动脚本
将如下脚本拷贝到远程服务器jar包同目录,然后运行sh start.sh命令启动脚本
即可启动服务(此处有个坑,如果自己在idea中编写脚本请将换行符设置为linux下的LF格式
)。
#!/usr/bin/env bash
#!/bin/sh
RESOURCE_NAME=cnntest-1.0.0.jar #设置启动jar文件名
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'App is running.'
else
echo 'App is NOT running.'
fi
rm -f tpid
nohup java -jar ./$RESOURCE_NAME & tail -f nohup.out
echo $! > tpid
echo Start Success!
-
chmod +x start.sh
(第一次运行的时候获取一下超级管理员权限)然后以后每次运行直接./start.sh
即可 -
拷贝脚本的时候运行的时候如果报错,应该是文件格式转换的问题
bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory
可以 yum -y install dos2unix
然后 dos2unix start.sh
重新运行脚本