首先在安裝好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文件即可