本文介绍如何使用EDAS提供的Java SDK调用API在EDAS ECS环境中金丝雀发布应用。
前提条件
在EDAS ECS环境中金丝雀发布应用前,您必须提前完成以下准备工作:
- 安装EDAS的Java SDK。更多信息,请参见Java SDK接入指南。
- 确定创建应用的地域,假设为cn-hangzhou。
- 创建微服务空间,假设为cn-hangzhou:doc。具体操作,请参见创建命名空间。
如果已经存在微服务空间,您可以调用ListUserDefineRegion接口查询用户自定义微服务空间列表,获取目标微服务空间的RegionId。
- 在ECS集群中创建应用,具体操作,请参见使用API创建应用(ECS)。
如果已经创建应用,您可以调用ListApplication接口查询应用列表,获取目标应用的APPId,假设为6bbc57a2-a017-4bec-b521-49a15bd3****。
- 已将应用部署包(JAR包或WAR包)上传至目标地址。本示例以OSS存储路径为例,假设为https:doc***.oss-cn-hangzhou.aliyuncs.com/sc-****-D-0.0.1-SNAPSHOT.jar。
- 请调用ListDeployGroup接口查询应用实例分组列表,获取应用实例分组的GroupId,假设为941be68c-4aac-48a1-88fe-c9ad1502****。
- 如果需要发布HSF应用,则需要调用ListBuildPack接口查询容器版本列表,获取容器版本(ConfigId)参数,假设为57。
背景信息
使用API金丝雀发布应用,在首批灰度发布后,您必须手动确认继续剩余批次的发布。在确认剩余批次发布前,您可以进行小规模验证,验证后,再继续剩余批次的发布,即将应用全量升级到新版本。
使用API金丝雀发布应用,设置剩余批次(除灰度发布分组外)的发布方式时推荐选用自动分批发布。如果您选用手动分批发布方式,则还需要调用ContinuePipeline接口手动确认执行下一批发布。
金丝雀发布应用
结果验证
您在金丝雀发布应用后,可以调用GetChangeOrderInfo接口查看变更流程详情,获取金丝雀发布应用的变更状态。具体API参数详情,请参见GetChangeOrderInfo。
调用GetChangeOrderInfo接口查看变更流程详情,返回的执行结果如下:
{
"Message": "success",
"RequestId": "0EB98A7D-50CE-4F5F-855D-70BAF61DFB38",
"Code": 200,
"changeOrderInfo": {
"Status": 2,
"Desc": "金丝雀发布",
"PipelineInfoList": {
"PipelineInfo": [
{
......
//此处未罗列全部执行结果,仅供参考。
请查看上述执行结果中的changeOrderInfo.Status参数值,通过该值判断金丝雀发布应用的变更是否成功。changeOrderInfo.Status的取值如下:
- 0:准备
- 1:执行中
- 2:执行成功
- 3:执行失败
- 6:终止
- 8:手动分批发布模式下,等待手工确认执行下一批。
- 9:自动分批发布模式下,等待下一批执行中。
- 10:系统异常执行失败