Jekins 发布脚本
1 buildWar
#!/bin/bash
export MAVEN_HOME=/opt/apache-maven-3.2.5
export PATH=${PATH}:/opt/apache-maven-3.2.5/bin
cd /root/.jenkins/workspace/buildWar/trunk/bank-deploy
pwd
cp -rf /opt/panpay/test/comUrl/common_url.js /root/.jenkins/workspace/buildWar/trunk/bank-deploy/management-deploy/management/src/main/webapp/
mvn clean install -Dmaven.test.skip=true
2 stopTomcat
arr=$(echo $tomcatList|tr "," "\n")
#参数配置
declare -A tomcatServer=(
["tomcatms2"]="1.62.186.11"
["tomcatms3"]="1.62.186.11"
["tomcatms4"]="1.62.186.11"
["tomcatms5"]="4.96.239.9"
["tomcatms6"]="1.62.186.11"
["tomcatms7"]="1.62.186.11"
["tomcatms8"]="1.62.186.11"
["tomcatSSL"]="1.62.186.11"
)
isAll=0
#遍历数组
for tomcatName in $arr
do
if [ "$tomcatName" = "all" ];then
isAll=1
fi
done
if [ $isAll -eq 1 ]; then
for tomcatName in ${!tomcatServer[@]}
do
curServer=${tomcatServer[$tomcatName]}
ansible $curServer -m shell -a "/usr/local/$tomcatName/bin/shutdown.sh"
ansible $curServer -m shell -a "ps -ef | grep $tomcatName | grep -v grep | cut -c 9-15 | xargs kill -9;"
done
else
for tomcatName in $arr
do
curServer=${tomcatServer[$tomcatName]}
ansible $curServer -m shell -a "source /etc/profile;/usr/local/$tomcatName/bin/shutdown.sh"
ansible $curServer -m shell -a "ps -ef | grep $tomcatName | grep -v grep | cut -c 9-15 | xargs kill -9;"
done
fi
3 uploadWar
#参数定义
sourceDir="/root/.jenkins/workspace/buildWar/trunk/bank-deploy/"
destDir="/usr/local/"
isAll=0
server="1.62.186.11"
declare -A warServer=(
["ifsp-provider.war"]="4.96.239.9"
)
echo $warList
arr=$(echo $warList|tr "," "\n")
declare -A tomcatMap=(
["system-provider.war"]="tomcatms2"
["config-provider.war"]="tomcatms2"
["attachment-provider.war"]="tomcatms3"
["notify-provider.war"]="tomcatms3"
["rate-provider.war"]="tomcatms3"
["validate-provider-0.0.1-SNAPSHOT.war"]="tomcatms3"
["charge-provider.war"]="tomcatms3"
["auth-provider-0.0.1-SNAPSHOT.war"]="tomcatms4"
["amazon-provider.war"]="tomcatms5"
["cc-provider.war"]="tomcatms5"
["chicago-provider.war"]="tomcatms5"
["ifsp-provider.war"]="tomcatms5"
["nano-provider-0.0.1-SNAPSHOT.war"]="tomcatms5"
["channel-provider.war"]="tomcatms6"
["finance-provider.war"]="tomcatms7"
["kyc-provider.war"]="tomcatms7"
["operation-provider.war"]="tomcatms7"
["trade-provider.war"]="tomcatms8"
["user-provider.war"]="tomcatms8"
["e-bank.war"]="tomcatSSL"
["management.war"]="tomcatSSL"
["info.war"]="tomcatSSL"
["tradeapp.war"]="tomcatSSL"
["batch.war"]="tomcatSSL"
["mock.war"]="tomcatSSL"
)
declare -A targetMap=(
["system-provider.war"]="common-deploy/system-deploy/system-provider/target/"
["config-provider.war"]="common-deploy/config-deploy/config-provider/target/"
["attachment-provider.war"]="common-deploy/attachment-deploy/attachment-provider/target/"
["notify-provider.war"]="common-deploy/notify-deploy/notify-provider/target/"
["rate-provider.war"]="common-deploy/rate-deploy/rate-provider/target/"
["validate-provider-0.0.1-SNAPSHOT.war"]="common-deploy/validate-deploy/validate-provider/target/"
["charge-provider.war"]="common-deploy/charge-deploy/charge-provider/target/"
["auth-provider-0.0.1-SNAPSHOT.war"]="auth-deploy/auth-provider/target/"
["amazon-provider.war"]="common-deploy/amazon-deploy/amazon-provider/target/"
["cc-provider.war"]="common-deploy/cc-deploy/cc-provider/target/"
["chicago-provider.war"]="common-deploy/chicago-deploy/chicago-provider/target/"
["ifsp-provider.war"]="common-deploy/ifsp-deploy/ifsp-provider/target/"
["nano-provider-0.0.1-SNAPSHOT.war"]="common-deploy/nano-deploy/nano-provider/target/"
["channel-provider.war"]="common-deploy/channel-deploy/channel-provider/target/"
["finance-provider.war"]="core-deploy/finance-deploy/finance-provider/target/"
["kyc-provider.war"]="core-deploy/kyc-deploy/kyc-provider/target/"
["operation-provider.war"]="core-deploy/operation-deploy/operation-provider/target/"
["trade-provider.war"]="common-deploy/trade-deploy/trade-provider/target/"
["user-provider.war"]="business-deploy/user-deploy/user-provider/target/"
["e-bank.war"]="e-bank-deploy/e-bank/target/"
["management.war"]="management-deploy/management/target/"
["info.war"]="info-deploy/info/target/"
["tradeapp.war"]="tradeapp-deploy/tradeapp/target/"
["batch.war"]="batch-deploy/batch/target/"
["mock.war"]="mock-deploy/mock/target/"
)
#遍历数组
for warName in $arr
do
if [ "$warName" = "all" ];then
isAll=1
fi
done
if [ $isAll -eq 1 ]; then
for warName in ${!tomcatMap[@]}
do
curServer=$server
if [ -n ${warServer[$warName]} ]; then
curServer=${warServer[$warName]}
fi
sourceFile=${sourceDir}${targetMap[$warName]}$warName
destFile=${destDir}${tomcatMap[$warName]}/webapps/
ansible $curServer -m copy -a "src=$sourceFile dest=$destFile"
done
else
for warName in $arr
do
curServer=$server
if [ -n ${warServer[$warName]} ]; then
curServer=${warServer[$warName]}
fi
sourceFile=${sourceDir}${targetMap[$warName]}$warName
destFile=${destDir}${tomcatMap[$warName]}/webapps/
ansible $curServer -m copy -a "src=$sourceFile dest=$destFile"
done
fi
4 startTomcat
arr=$(echo $tomcatList|tr "," "\n")
#参数配置
declare -A tomcatServer=(
["tomcatms2"]="4.96.239.9"
["tomcatms3"]="1.62.186.11"
["tomcatms4"]="1.62.186.11"
["tomcatms5"]="4.96.239.9"
["tomcatms6"]="1.62.186.11"
["tomcatms7"]="1.62.186.11"
["tomcatms8"]="1.62.186.11"
["tomcatSSL"]="1.62.186.11"
)
isAll=0
#遍历数组
for tomcatName in $arr
do
if [ "$tomcatName" = "all" ];then
isAll=1
fi
done
if [ $isAll -eq 1 ]; then
for tomcatName in ${!tomcatServer[@]}
do
curServer=${tomcatServer[$tomcatName]}
ansible $curServer -m shell -a "source /etc/profile;nohup /usr/local/$tomcatName/bin/startup.sh &"
ansible $curServer -m shell -a "nohup tail -f /usr/local/$tomcatName/logs/catalina.out &"
sleep 20
done
else
for tomcatName in $arr
do
curServer=${tomcatServer[$tomcatName]}
ansible $curServer -m shell -a "source /etc/profile;nohup /usr/local/$tomcatName/bin/startup.sh &"
for((i=1;i<=30;i++));
do
ansible $curServer -m shell -a "nohup tail -f /usr/local/$tomcatName/logs/catalina.out &"
sleep 1
done
#ansible $curServer -m shell -a "ps -ef | grep /usr/local/$tomcatName/logs/catalina.out | grep -v grep | cut -c 9-15 | xargs kill -9;"
done
fi