#!/bin/bash refs=$1 echo ${refs} project=lp_core project_dir=/data/repos/${project} project_url=https://gz-gitlab.vipthink.cn/sh-lp/lp_core.git cd ${project_dir} token=d926aee0ab9d2663d03ec8698327c8f131cbc7c43f804f7f635e5db9884c27a1 # 通知 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": "'"项目名称:${project} 构建分支/tag:${branch_tag}"' 状态:构建过程有错误" }}' } CheckStatus () { if [ $? -eq 0 ];then DingSuccess else DingError fi } cd $project_dir git reset --hard git pull git checkout master git pull git fetch git pull --tags branch_tag=`echo ${refs}|awk -F '/' '{print $NF}'` echo $branch_tag if [[ "${refs}" == refs/tags/shd-* ]];then git checkout ${branch_tag} CheckStatus echo ${branch_tag} >version.log rsync -avz -e 'ssh -p 22' --exclude={.git,test.conf,.env,doc,docker} ./ shop@shd:/data/wwwroot/shd-lp.vipthink.cn/lpvipthink/ 1>1 ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sh_dev" -t LPVipthink-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-lp.vipthink.cn/lpvipthink/ 1>1 ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sht" -t LPVipthink-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={.git,test.conf,.env,doc,docker} ./ shop@shp:/data/wwwroot/shp-lp.vipthink.cn/lpvipthink/ 1>1 ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sh_gr" -t LPVipthink-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={.git,test.conf,.env,doc,docker} ./ shop@sho:/data/wwwroot/sho-lp.vipthink.cn/lpvipthink/ 1>1 #ansible-playbook -vv /etc/ansible/sh_op_jenkins.yml --extra-vars "hosts=sho" -t LPVipthink-gr CheckStatus else echo Ignore the build fi