pipeline {
agent none
stages {
stage('初始化'){
agent { label "10.10.0.84" }
steps {
script {
wrap([$class: 'BuildUser']) {
buildName "#${BUILD_NUMBER}_${BUILD_USER}"
}
}
cleanWs()
}
}
stage('成品库拉取源码') {
agent { label "10.10.0.84" }
steps {
sh '''
#! /bin/bash
#Edited on Dec 27, 2019
BUILD_ID=DONTKILLME
mkdir -p /root/srm/jenkins/{latest,backup}
new_dir=/root/srm/jenkins/latest
backup_dir=/root/srm/jenkins/backup
cd ${new_dir}
#backup latest dir
tar -zcvf latest.`date +%Y%m%d%H%M%S`.tar.gz ./*
mv *.tar.gz ${backup_dir}
find ${backup_dir} -name "latest*" -mtime +7 | xargs rm -rf
#retrive backend packages
wget http://10.10.0.18/scm/scm_pre.tar.gz
tar -zxvf scm_pre.tar.gz
chmod 755 ${new_dir}/*.jar
rm -rf scm_pre.tar.gz
#retrive frontend packages
rm -rf dist.tar.gz dist
wget http://10.10.0.18/scm/dist.tar.gz
tar -zxvf dist.tar.gz
#clean up old backup packages
find ${backup_dir} -type f -name *.tar.gz -mtime +3 | xargs rm -rf
'''
}
}
stage('部署') {
agent { label "10.10.0.84" }
steps {
sh '''
#! /bin/bash
#the part of codes were provided by Qingdao saiwei
export JENKINS_NODE_COOKIE=dontKillMe
srmsh=/root/srm/jenkins/script/savor-start.sh
lastdir=/root/srm/jenkins/latest
pubdir=/root/srm/jars
for m in `echo $APP | sed "s/,/\t/g"`
do
case $m in
frontend)
#frontend release
rm -rf /var/www/scm/dist
cp -a /root/srm/jenkins/latest/dist* /var/www/scm/
systemctl reload nginx
;;
center)
###center
rm -f ${pubdir}/savor-center.jar
cp -a ${lastdir}/savor-center.jar ${pubdir}
/bin/bash ${srmsh} ${pubdir}/savor-center.jar pre 128 128
;;
gate)
##gate
rm -f ${pubdir}/savor-gate.jar
cp -a ${lastdir}/savor-gate.jar ${pubdir}
/bin/bash ${srmsh} ${pubdir}/savor-gate.jar pre 128 512
;;
task)
###task
rm -f ${pubdir}/savor-task.jar
cp -a ${lastdir}/savor-task.jar ${pubdir}
/bin/bash ${srmsh} ${pubdir}/savor-task.jar pre 256 1024
;;
esac
done
'''
}
}
}
}