#!/bin/bash refs=$1 echo ${refs} project=vipthink_core project_dir=/data/repos/${project} project_url=https://gz-gitlab.vipthink.cn/sh/vipthink_core.git token=d926aee0ab9d2663d03ec8698327c8f131cbc7c43f804f7f635e5db9884c27a1 ################### master ###################### if [[ "${refs}" == refs/heads/master ]];then cd /data/wwwroot/master/vipthink_core/ git reset --hard git pull fi cd ${project_dir} # 通知 DingSuccess () { curl 'https://oapi.dingtalk.com/robot/send?access_token='"${token}"'' \ -H 'Content-Type: application/json' -d '{"msgtype": "text", "text": { "content": "'" 项目名称:${project} 构建分支/tag:${branch_tag}"' 状态:构建成功" }}' } DingError () { curl 'https://oapi.dingtalk.com/robot/send?access_token='"${token}"'' \ -H 'Content-Type: application/json' -d '{"msgtype": "text", "text": { "content": "'"${branch_tag}\n${project}"' 构建过程中有错误" } }' } CheckStatus () { if [ $? -eq 0 ];then DingSuccess else DingError fi } if [[ "${refs}" == refs/heads/master ]];then cd /data/wwwroot/master/lp_core/ git reset --hard git pull fi cd $project_dir git reset --hard git pull git checkout master git pull branch_tag=`echo ${refs}|awk -F '/' '{print $NF}'` echo $branch_tag ############# dev- ############################### if [[ "${refs}" == refs/heads/shd-* ]];then git checkout ${branch_tag} echo ${branch_tag} >version.log rsync -avz -e 'ssh -p 22' --exclude={.git,test.conf,.env,doc,docker} ./ shop@shd:/data/wwwroot/shd-cc.vipthink.cn/vipthink_core/ ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sh_dev" -t vipthink_core-dev CheckStatus ############# bate ############################### elif [[ "${refs}" == refs/tags/sht-* ]];then git checkout ${branch_tag} echo ${branch_tag} >version.log rsync -avz -e 'ssh -p 22' --exclude={.git,test.conf,.env,doc,docker} ./ shop@sht:/data/wwwroot/sht-cc.vipthink.cn/vipthink_core/ rsync -avz -e 'ssh -p 22' --exclude={.git,test.conf,.env,doc,docker} ./ shop@sht:/data/wwwroot/sht-cc.vipthink.cn/lp_vipthink_core/ ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sht" -t vipthink_core-test CheckStatus ################### pre ######################### elif [[ "${refs}" == refs/tags/shp-* ]];then git checkout ${branch_tag} git pull echo ${branch_tag} >version.log rsync -avz -e 'ssh -p 22' --exclude=test.conf --exclude=.env --exclude=.git ./ shop@shp:/data/wwwroot/shp-cc.vipthink.cn/vipthink_core/ ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sh_gr" -t vipthink_core-shp CheckStatus ############# release ############################### elif [[ "${refs}" == refs/tags/sho-* ]];then git checkout ${branch_tag} echo ${branch_tag} >version.log rsync -avz -e 'ssh -p 22' --exclude=test.conf --exclude=.env --exclude=.git ./ shop@sho:/data/wwwroot/sho-cc.vipthink.cn/vipthink_core/ ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sho" -t vipthink_core-gr CheckStatus else echo Ignore the build fi