cat deploy-service.sh
#!/bin/sh
# 150812
# dongliang101@gmail.com
# Variable:
Package="$1" # service package name, ex: zuul
BackDir="/data/apply-service-backup" # old package backup path
LogDir="/var/log/${Package}" # service logs path
DeployDir="/srv/${Package}" # service deploy path
#DeployDir="/opt/${Package}" # service deploy path
ConfDir="/etc/supervisord.d" # supervisor config path
HprofDir="/data/var/log/${Package}_hprof"
# Deploy a new service package function.
NewService(){
if [ ! -f ${ConfDir}/${Package}.ini ] ; then
[ -d ${LogDir} ] || mkdir -p ${LogDir}/{accesslog,errorlog}
[ -d ${DeployDir} ] || mkdir -p ${DeployDir}
[ -d ${HprofDir} ] || mkdir -p ${HprofDir}
cd ${ConfDir} && cp -a zuul.example ${Package}.ini
sed -i "s#zuul#${Package}#g" ${Package}.ini && supervisorctl update
fi
}
# Update service function.
UpdateService(){
#ls /tmp/${Package}-*-SNAPSHOT.jar | awk -F"[.-]" '{print "mv " $0" "$1"."$NF}' | bash
mkdir -p ${BackDir}
chow work. -R ${BackDir}
ls /tmp/${Package}-*-SNAPSHOT.jar
mv /tmp/${Package}-*-SNAPSHOT.jar /tmp/${Package}.jar
if [ $?==0 ] ; then
mv /srv/${Package}/${Package}.jar ${BackDir}/${Package}.jar.$(date +'%Y%m%d%H%S') 2>/dev/null
#mv /opt/${Package}/${Package}.jar ${BackDir}/${Package}.jar.$(date +'%Y%m%d%H%S') 2>/dev/null
mv /tmp/${Package}.jar /srv/${Package}/
supervisorctl restart ${Package}
find ${BackDir} -name "${Package}.jar.*" -atime +7 -exec rm -f {} \;
supervisorctl status
else
exit 2
fi
}
TestService() {
sleep 60
#JAVA_HOME=/srv/java/jdk1.8.0_171
JAVA_HOME=/opt/jdk1.8.0
PATH=$JAVA_HOME/bin:$PATH
JEE="/data/apache-jmeter-5.1.1"
RET="/tmp/TestService.txt"
sh $JEE/bin/jmeter -n -t $JEE/NB-edit.jmx -l $JEE/logs/data/NB-edit.jtl > $RET
cat $RET
num=`awk '/Err:/{print $(NF-1)}' $RET`
if [ $num -ne 0 ] ; then
echo '----------Test Failed----------'
exit 2
fi
}
# Main function
main(){
NewService
UpdateService
#TestService
}
# Main
main
sync;sleep 3; echo 3 > /proc/sys/vm/drop_caches