shell腳本自動化部署服務

shell腳本自動化部署git

!/bin/bash

#export PATH=$PATH:/export/maven/bin

run_flag_dir="/data0/shell/deploy_workspace/Test"
if [ ! -d "$run_flag_dir" ]; then
    mkdir -p "$run_flag_dir"
fi

#判斷是否正在部署,若是是則退出
if [ -f "$run_flag_dir/.run" ]; then
    echo "程序部署中,請勿重複部署!"
    exit 1
fi

#建立.run文件,標識腳本正在部署
touch "$run_flag_dir/.run"
#捕獲Ctrl+C,刪除.run文件,避免狀態不一致
trap "rm -r $run_flag_dir/.run; exit 1" 2

export JAVA_HOME=/data0/usr/jdk1.8.0_60/

/bin/rm -rf ./deploy_workspace/Test

echo "##############################################################"
echo "開始git下載代碼。。。"
echo "##############################################################"

cd /data0/shell/deploy_workspace
if [ ! -d "Test" ]; then
    git clone -b dev git@git.jd.com:AIBDP-Mobile/Test.git
    cd Test
    git pull
else
    cd Test
    git pull
fi


echo "##############################################################"
echo "開始編譯代碼。。。"
echo "##############################################################"
cd /data0/shell/deploy_workspace/Test/
#cp -rf face-web/src/main/config/test/* ai-web/src/main/resources/
#/bin/rm -rf mobile-web/src/main/config/test/jss.properties
cp -rf web/src/main/config/test/* web/src/main/resources/
mvn clean package -U -DskipTests -Dmaven.repo.local=/data0/repository
#mvn clean package  -DskipTests



if [ $? != 0 ]; then
    echo "##############################################################"
    echo -e 'mvn打包出錯了,直接退出部署程序。。。';
    echo "##############################################################"
    /bin/rm -rf $run_flag_dir/.run;
    exit 1
fi




echo "##############################################################"
echo "開始中止tomcat。。。"
echo "##############################################################"
sh  /data0/usr/apache-tomcat-8.5.24/bin/shutdown.sh
sleep 3
ps -ef| grep "apache-tomcat-8.5.24" | grep -v grep |  awk  '{print $2}' | xargs kill -9
echo "====tomcat服務已中止成功。。。"
echo "##############################################################"

echo "##############################################################"
echo -e "開始部署程序。。。"
echo "##############################################################"
cd /data0/shell/deploy_workspace/Test/
/bin/rm -rf /data0/usr/apache-tomcat-8.5.24/webapps/ROOT*
unzip -q  mobile-web/target/ROOT.war -d  "/data0/usr/apache-tomcat-8.5.24/webapps/ROOT"



echo "##############################################################"
echo -e "開始啓動tomcat。。。"
echo "##############################################################"
export CATALINA_OPTS="-Xms1024M -Xmx1024M -server -XX:PermSize=256M"
nohup sh /data0/usr/apache-tomcat-8.5.24/bin/startup.sh &


#刪除.run文件,部署完畢
/bin/rm -rf $run_flag_dir/.run;

echo "##############################################################"
echo -e "開始打印日誌。。。"
echo "##############################################################"

tail -f  "/data0/usr/apache-tomcat-8.5.24/logs/catalina.out"
View Code
相關文章
相關標籤/搜索