自动发布流程
2021-11-03 16:04:25 0 举报
自动发布流程图
作者其他创作
大纲/内容
以备份的权重还原当前服务器权重
传入了PreheatingHealthStatus参数
是否预发布
上线
否
将读取的权重数据备份
拉取更新
回收预发布站点应用程序池
Nginx
是
下线
将预发布站点的负载均衡中的虚拟服务器组,调整为与当前站点一致(权重全部是100,且都是监听后端的80端口)
回收应用程序池
是否异常
如果source目录中没有web.config文件,但有传入环境变量,则拷贝对应的配置文件为web.config
切换站点物理路径
切换预发布站点物理路径
根据指定的版本进行切换
判断返回状态码
判断是否预发布
拷贝文件&切换路径&还原版本
正常
参数校验
AliyunSlb
记录站点当前物理路径到version.ini(如果与上次记录的值一样,则不记录)
是否需要拉取更新
读取当前站点物理路径下的version.ini保存的上一个版本
发布成功
预热站点
访问预发布站点
拉取更新到source目录
判断是否有服务器权重为0
调用Nginx将对应服务器权重降为0
异常
判断下线的方式
拷贝source文件到对应版本路径(目录已存在则增量拷贝)
回收当前站点应用程序池
开始发布
是否需要回收应用程序池
读取备份的权重
判断上线方式
比如传入200,预热返回的状态码必须是200才算正常
访问当前站点
判断是否还原操作
调用阿里云接口,将对应服务器权重降为0
判断预热是否成功
结束
切换站点物理路径到指定版本
判断是否指定了要还原的版本
默认200和403都是正常
判断是否需要下线服务器
0 条评论
下一页