Spring boot 使用svn 自动化发布

首先在安装好svn,创建好仓库,在文件夹hooks 中拷贝 post-commit

在post-commit中末尾增加
#!/bin/sh
/home/svn/repository/hooks/update.sh
其中的jar 放在目录/data/software/dapp/dapp/
首先初始状态情况下需要把打包好的jar包解压,上传BOOT-INF,META-INF,org 等文件夹到svn目录上,再把它checkout 到data/software/dapp/dapp/class
在该目录下新建update.sh内容如下:
#!/bin/sh
export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn
wallet_PATH=/data/software/dapp/dapp
$SVN_PATH update $wallet_PATH --username xxx --password xxx --no-auth-cache
echo "update"
sudo /data/shell/dapp/dapp_jar.sh
sudo /data/shell/dapp/dapp.sh

其中dapp_jar.sh为打包jar 命令内容如下:

#!/bin/sh
dapp_path="/data/software/dapp/dapp/"
d=`date "+%Y-%m-%d_%H_%M_%S"`
if [ ! -f "$dapp_path/dapp.jar" ];then
echo "文件不存在"
else
mv $dapp_path/dapp.jar $dapp_path/dapp_$d.jar
fi
export JAVA_HOME=/opt/java/jdk1.8.0_181
PATH=$PATH:$JAVA_HOME/bin
$JAVA_HOME/bin/jar cvf0m $dapp_path/dapp.jar $dapp_path/classes/META-INF/MANIFEST.MF -C $dapp_path/classes/ .

chmod 776 $dapp_path/dapp.jar

dapp.sh是启动关闭jar的命令:
#! /bin/sh
#defined
ID=`ps -ef|grep dapp.jar|awk '{print $2}'`
JAVA_OPTS="-server -showversion -Xms512m -Xmx512m -Xmn200M -XX:PermSize=128m -XX:MaxPermSize=128m "
echo $ID
echo "..............."
kill -9 $ID
echo "kill $ID done"
echo "..............."
export JAVA_HOME=/opt/java/jdk1.8.0_181
PATH=$PATH:$JAVA_HOME/bin
nohup $JAVA_HOME/bin/java $JAVA_OPTS -Dspring.profiles.active=test -jar /data/software/dapp/dapp/dapp.jar >/data/log/dapp/dapp-out.log 2>&1 &
echo "start dapp end..."

通过上述命令就可以自动化部署,只需要在windows 上更新class文件即可

原文地址:https://www.cnblogs.com/bornteam/p/9679922.html