Skip to content

如何对接DevOps运维平台执行半自动化蓝绿灰度发布

HaojunRen edited this page Oct 29, 2022 · 2 revisions

① 第一次蓝绿灰度发布

通过创建版本蓝绿灰度发布,手工输入条件表达式,后端链路智能编排。Open API支持Yaml和Json格式两种,任选一个

http://localhost:6001/strategy/create-version-release-yaml/{group}/{serviceId}
http://localhost:6001/strategy/create-version-release-json/{group}/{serviceId}

接口传输内容示例

service:
  - service-a
  - service-b
blueGreen:
  - expression: "#H['xyz'] == '1'"
     route: green
  - expression: "#H['xyz'] == '2'"
     route: blue
gray:
  - expression: "#H['xyz'] == '3'"
    weight:
      - 90
      - 10
  - expression: "#H['xyz'] == '4'"
    weight:
      - 70
      - 30

② 第二次以及未来N次蓝绿灰度发布

通过重新创建版本蓝绿灰度发布,把需要重新执行蓝绿灰度发布的服务列表加入,重用上次的保留条件表达式,进行蓝绿灰度发布。Open API支持Yaml和Json格式两种,任选一个

http://localhost:6001/strategy/recreate-version-release-yaml/{group}/{serviceId}
http://localhost:6001/strategy/recreate-version-release-json/{group}/{serviceId}

接口传输内容示例

service:
  - service-a
  - service-b
condition: true

③ 停止蓝绿灰度发布

通过重置蓝绿灰度发布,保留条件表达式,清除链路路由,以便下一次蓝绿灰度发布不再输入条件表达式。Open API如下

http://localhost:6001/strategy/reset-release/{group}/{serviceId}

④ 定时更新灰度发布

DevOps运维平台每隔一段时间,调整灰度权重比例(减少旧版本流量,增加新版本流量),平稳达到流量从旧版本到新版本的迁移

上面提到的步骤,请参考




2017-2050 ©Nepxion Studio Apache License

           

Total visits

讲义篇

集成篇

概念篇

实践篇

功能篇

配置篇

扩展篇

测试篇

升级篇

贡献篇

Clone this wiki locally