前言
根据上节内容跳转,我们延伸到前端分离项目脚本自动部署,这一节为后端API接口脚本部署详细介绍。
这里使用的案例为SVN上的Spring-boot-API源码,实现更新部署项目。
首先在服务器安装maven
- 下载SVN,地址:apache-maven-3.3.9.bin.tar.gz
- 解压到路径
/data/apache-maven-3.3.9
- 修改配置文件,这里不叙述。
- 编辑
//etc/profile
文件
vi /etc/profile
在结尾处增加下面两行代码
export M2_HOME=/data/apache-maven-3.3.9
export PATH=$PATH:$M2_HOME/bin
执行保存命令
!wq
- 刷新应用profile
source //etc/profile
- 测试是否安装成功
mvn -v
找到你的Spring-boot-API 部署所在的地址
这里使用地址为:/data/api
创建更新记录文件夹
mkdir /data/svn_api
在文件夹下首次执行下载svn web项目,创建svn元信息,保证一键更新脚本无通讯障碍。
svn checkout svn项目地址 /data/svn_api/ --username=svn账号 --password=svn密码
#(R)eject, accept (t)emporarily or accept (p)ermanently? p
创建更新部署脚本
在目录 /data/svn_api/
下
创建更新脚本:
touch build.sh
赋脚本权限:
chmod +x build.sh
编辑脚本:
vi build.sh
添加以下内容
api=//data/api
jar=spring-boot-api
svn update && mvn clean package -DskipTests
if [ $? -eq 0 ];then
# 停止程序
set -m
$api/stop.sh
sleep 3s
# 备份jar包
cp $api/lib/$jar.jar $api/lib/$jar.jar.bak
# 更新到程序lib
rsync -av --progress --delete \
target/$jar.jar $api/lib/
# 重启API程序
cd $api
$api/start.sh
tail -f $api/log/api.log
fi
参数说明
脚本里面的 api=为程序部署路径,jar=为打包好的jar包名, %api/lib/$jar.jar为项目打包路径。
保存脚本
执行测试
到此基本工作完成,执行./buid.sh 就会一键更新打包JAR包并更新发布到API程序。
./build.sh