#!/bin/bash
set -x
version=$1
roll=$2
ProjectName=www.yyjzt.com
user=admin
hostname='
XXXX
'
###项目打包编译
ProjectPath=/home/admin/.jenkins/workspace/$ProjectName
ProjectPacker=$ProjectPath/jzt-b2b-crm/build/libs/jzt-b2b-crm.jar
function BuildProject {
DirName=`ls -l $ProjectPath|grep '^d'|awk '{print $NF}'`
for i in $DirName
do
cd $ProjectPath/$i
git pull
done
cd $ProjectPath
gradle build
}
####ui access git更新
UiPath=/home/admin/htdocs/nfs.file/g.yyjzt.com
cd $UiPath
git pull
########################################################################################
ZipPacker=/home/admin/jzt-deploy/packer
ZipPath=$ZipPacker/$ProjectName/web-deploy
if [ ! -d $ZipPath ];then
mkdir -p $ZipPath
fi
##判断版本是发布还是回滚
function rollback {
ProjectPackerBack=/home/admin/output/rollback/$ProjectName/$version
if [ ! -d $ProjectPackerBack ];then
mkdir -p $ProjectPackerBack
fi
if [ -z $roll ];then
cp -a $ProjectPacker $ZipPath/$ProjectName.jar
cp -a $ProjectPacker $ProjectPackerBack/$ProjectName.jar
else
cp -a $ProjectPackerBack/$ProjectName.jar $ZipPath/$ProjectName.jar
fi
}
rollback
cd $ZipPath
rm -rf $ZipPath/web-deploy.zip
zip web-deploy.zip -r ./*
########################################################################################
function PublishApp {
scp "$ZipPath/web-deploy.zip" $user@"$Host":/home/admin/htdocs/$ProjectName/
ssh $user@"$Host" "export ProjectName=$ProjectName;/bin/bash /home/admin/sbin/ProjectRestart.sh"
#rsync -vaz --password-file=/home/admin/.rsync.passwd --exclude ".git" $UiPath/ admin@${Host}::g.yyjzt.com
sleep 20
}
for Host in $hostname
do
PublishApp
done