用于向 ECS 集群部署应用。

说明 如果需要向导入 EDAS 的容器服务 K8s 集群部署应用,请使用 EDAS 提供的 DeployK8sApplication 接口。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求头

该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。

请求语法

POST /pop/v5/changeorder/co_deploy HTTPS|HTTP

请求参数

名称 类型 位置 是否必选 示例值 描述
AppId String Query 3616cdca-********************

应用 ID (可查询 ListApplication 接口获取)

DeployType String Query url

部署类型只能填:url 或 image(废弃参数值),其中只有 Swarm 集群应用支持镜像(image)部署

GroupId String Query all

部署分组 ID(可查询 ListDeployGroup 接口获取),全部分组填 “all”

PackageVersion String Query 1.0

发布的应用包版本,最长64个字符,建议使用时间戳。

Desc String Query Deploy by edas pop api

应用部署描述信息

WarUrl String Query https://edas.oss-cn-hangzhou.aliyuncs.com/demo/hello-edas.war

DeployType 为 url 时必填,war 或者 jar 包的网络地址,建议使用 OSS 存储应用包

ImageUrl String Query registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest

(废弃参数)Swarm 集群应用部署时可指定的应用镜像 URL,推荐使用阿里云镜像仓库

Batch Integer Query 1

每组批次数

  • 当指定了应用分组的 GroupId 为具体的某一个应用分组 ID 时,表示向指定应用分组部署,此时可指定的最小批次数为 1,最大批次数为该应用分组下面正常状态的 ECS 实例数最大值,实际分批数结果范围:[1,指定的分批数] (指定的分批数 <= 指定的分组下面 ECS 总数)。
  • 当指定了应用分组的 GroupId 为 all 时,表示向所有应用分组部署,此时可指定的最小批次数为 1,最大批次数为正常状态的 ECS 数量最多的分组下面 ECS 实例数,实际分批数结果范围:Math.min(指定的批次数,A 分组下正常状态的 ECS 实例数)+ Math.min(指定的批次数,B 分组下正常状态的 ECS 实例数) + ... + Math.min(指定的批次数,X 分组下正常状态的 ECS 实例数) 。
BatchWaitTime Integer Query 0

每组分批等待时间,单位:分钟。

  • 默认为 0,表示不等待。
  • 最大 5,当实际批次数较多时,该参数值切勿设置过大,否则会让本次应用部署的变更持续时间特别长。
AppEnv String Query [{\"name\":\"env_name_1\", \"value\":\"env_value_1\"}, {\"name\":\"env_name_2\",\"value\":\"env_value_2\"}]

部署环境变量,格式必须符合 {"name":"x","value":"y"},{"name":"x2","value":"y2"} ,key 固定为 name 和 value。

BuildPackId Long Query 59

EDAS-Container 构建包号(可通过容器版本列表接口 ListBuildPack 查询获取或者参见 “容器版本” 表格中的 “构建包序号” 列获取,59 表示 EDAS-Container 3.5.8 版本),可选参数(HSF 应用创建时的必需参数,如果部署时不准备更改 EDAS-Container 容器版本,则该参数可不设置,如果需要在本次部署时,更新目标应用的 EDAS-Container 容器版本,则可以指定)

ComponentIds String Query 7

应用组件 ID(可通过查询组件列表接口 ListComponents 接口获取到),当创建的应用已经指定,则本次部署不需要再指定,如果在本次部署时需要更新目标应用 ID 的应用组件版本则可以指定。常用的应用组件 ID 及含义:4 表示 Apache Tomcat 7.0.91、7 表示 Apache Tomcat 8.5.42、5 表示 OpenJDK 1.8.x、6 表示 OpenJDK 1.7.x (参见 InsertApplication 接口的补充使用说明),该参数不适用于 HSF 应用。

ReleaseType Long Query 0

分批方式。

  • 0 为自动。
  • 1 为各批次间需要手动确认。可在管控台手动“继续下一批”,也可通过调用 ContinuePipeline 继续下一批(由于使用 API 部署,建议使用 0 自动分批)。
Gray Boolean Query true

是否为金丝雀发布。

  • true:金丝雀发布。
    • 灰度发布时,必须指定灰度发布的分组Id,即GroupId。
    • 灰度发布作为一个批次发布。
    • 灰度结束后,正常发布,分组批次由Batch控制。
  • false:非金丝雀发布(单批或分批发布)。
TrafficControlStrategy String Query {"http":{"rules":[{"conditionType":"percent","percent":10}]}}

灰度发布策略内容,请参见DeployK8sApplication

返回数据

名称 类型 示例值 描述
ChangeOrderId String adf86823-055b-48a4-a59f-fa5582xxxxxx

应用部署的变更单Id

Code Integer 200

接口请求的状态码

Message String success

接口请求返回的信息

RequestId String d6834ee9-5045-*************

接口请求唯一标识符

示例

请求示例

POST /pop/v5/changeorder/co_deploy HTTP/1.1
公共请求头
{
  "AppId": ""
  "DeployType": ""
  "GroupId": ""
  "PackageVersion": ""
}

正常返回示例

XML 格式

<Message>success</Message>
<ChangeOrderId>212892bf-7757-4694-b0f0-fdf401xxxxxx</ChangeOrderId>
<Code>200</Code>

JSON 格式

{
	"Message": "success",
	"ChangeOrderId": "212892bf-7757-4694-b0f0-fdf401xxxxxx",
	"Code": 200
}

错误码

访问错误中心查看更多错误码。