发布脚本

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a12345678n/article/details/82906327

#!/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

猜你喜欢

转载自blog.csdn.net/a12345678n/article/details/82906327