运维管理如上图所示,自动部署主要牵扯的有:服务器、应用管理、部署管理和部署备份。
以“eladmin-system.jar”部署为例进行说明:
1. 添加服务器(注意:需要linux服务器)
服务器的名称可以随便起。
2. 添加应用
注意:应用名称必须和jar包的名称保持一致
应用名称:eladmin-system.jar
应用端口:根据自己情况写
上传目录:/opt/upload/eladminsystem
部署目录:/opt/app/eladminsystem
备份目录:/opt/backup/eladminsystem
部署脚本:unzip /opt/upload/eladminsystem/all.zip -d /opt/app/eladminsystem
启动脚本:sh /opt/app/eladminsystem/start.sh
2.1 创建start.sh文件,文件内容如下:
#启动脚本
#脚本位置
#/opt/app/eladminsystem/start.sh
#启动方式(注意:该脚本内最后一行文件一点不可是注释文件或是空行,否则保存“$'\r': command not found”)
#nohup java -jar /opt/app/eladminsystem/eladmin-system.jar > /opt/app/eladminsystem/nohup.out 2>&1 &
#给main传参方法
nohup java -jar /opt/app/eladminsystem/eladmin-system.jar --spring.profiles.active=prod > /opt/app/eladminsystem/nohup.out 2>&1 &
2.2 创建stop.sh文件,文件内容如下:
#关闭脚本
#脚本位置 /opt/app/eladminsystem/stop.sh
PID=$(ps -ef | grep eladmin-system.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill -9 $PID
kill -9 $PID
fi
3. 部署
3.1 部署准备
自己本地项目打成jar包:eladmin-system.jar
将start.sh、stop.sh和eladmin-system.jar直接打成zip包(注意包名:all.zip)
3.2 部署
自己本地(windows环境)启动项目,到运维管理-部署管理。选中要部署的应用名称,点击一键部署。
第一次部署,上传all.zip,后续部署(只要不是第一次),zip包打包时只打eladmin-system.jar即可。
如自动启动项目时报错,则手动到服务器验证start.sh文件和stop.sh是否有问题,如报错(可能会报:syntax error: unexpected end of file或syntax error near unexpected token `fi'),自行网上百度。