为防止当前只存在单个实例的情况下,进行jenkins项目发布导致业务中断,使用以下脚本代码进行nacos健康实例检测参考链接:Open API 指南
发布前检测健康实例数量,小于2停止发布
#!/bin/bash IPADDR='http://192.168.1.100:8848' NACOS_PATH='/nacos/v1/ns/instance/list' PARAM='?serviceName=gateway&namespaceId=xxxxxxxxxxx' URL=$IPADDR$NACOS_PATH$PARAM RESULT=$(curl -X GET $URL) COUNT=$(echo $RESULT | sed 's/,/n/g' | grep -c healthy) if(($COUNT<0)) then echo "正常服务数量小于2,停止当前发布,请先检查服务!!!!!!!!!!!" exit 1 fi
服务发布启动后,再次进行检测,如果正常则进行后续发布,否则退出发布。
#!/bin/bash IPADDR='http://192.168.1.100:8848' NACOS_PATH='/nacos/v1/ns/instance/list' PARAM='?serviceName=gateway&namespaceId=xxxxxxxxxxxxxxxxx' URL=$IPADDR$NACOS_PATH$PARAM for i in {1..3} do RESULT=$(curl -X GET $URL) COUNT=$(echo $RESULT | sed 's/,/n/g' | grep -c healthy) echo "第"$i"次检测" if(($COUNT<2)) then CODE=1 echo "等待服务上线" echo "正常在线服务数量:"$COUNT echo "当前发布状态码:"$CODE sleep 10s else CODE=0 echo "当前发布状态码:"$CODE echo 'server01 上gateway服务已正常上线' break fi done exit $CODE
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)