DeployApplication - 用于向 ECS 集群部署应用

调用DeployApplication接口在ECS集群中部署应用。

接口说明

说明 如果需要在导入 EDAS 的容器服务 K8s 集群部署应用,请使用 EDAS 提供的 DeployK8sApplication 接口,更多信息,请参见 DeployK8sApplication

调试

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

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
edas:ManageApplicationWrite
  • Application
    acs:edas:{#regionId}:{#accountId}:namespace/{#NameSpaceId}/application/{#AppId}

请求语法

POST /pop/v5/changeorder/co_deploy

请求参数

名称类型必填描述示例值
AppIdstring

应用 ID。可通过查询 ListApplication 接口获取,请参见 ListApplication

3616cdca-********************
PackageVersionstring

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

1.0
Descstring

应用部署描述信息。

Deploy by edas pop api
DeployTypestring

部署类型。包含URLimage(废弃参数值),其中只有 Swarm 集群应用支持镜像(image)部署。

URL
WarUrlstring

应用部署包(WAR 或 JAR)的 URL 地址。DeployTypeurl时必填,建议使用 OSS 存储的应用部署包路径。

https://edas.oss-cn-hangzhou.aliyuncs.com/demo/hello-edas.war
ImageUrlstring

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

registry.cn-hangzhou.aliyuncs.com/mw/testapp:latest
GroupIdstring

部署分组 ID。可通过查询 ListDeployGroup 接口获取,请参见 ListDeployGroup

说明 如果要部署到所有分组,参数设置为all

all
Batchinteger

每组批次。

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

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

  • 默认为 0,表示不等待。
  • 最大为 5。

当实际批次数较多时,需要设置一个合理值,否则会导致本次应用部署的变更持续时间比较长。

0
AppEnvstring

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

[{\"name\":\"env_name_1\", \"value\":\"env_value_1\"}, {\"name\":\"env_name_2\",\"value\":\"env_value_2\"}]
BuildPackIdlong

EDAS-Container 构建包号。

  • 如果部署时不需要更改 EDAS-Container 版本,则该参数可不设置。
  • 如果需要在本次部署时,更新目标应用的 EDAS-Container 版本,则需要设置。

有以下两种获取方式:

  • 可通过查询容器版本列表接口 ListBuildPack 获取,请参见 ListBuildPack
  • 容器版本说明表格中的构建包序号列获取。例如59表示EDAS-Container 3.5.8 版本
59
ComponentIdsstring

应用组件 ID,参数不适用于 HSF 应用。可通过查询组件列表接口 ListComponents 接口获取,请参见 ListComponents

  • 当创建应用时已经设置,则本次部署不需要再设置。
  • 如果在本次部署时需要更新目标应用的应用组件版本则需要设置。

常用的应用组件 ID 及含义如下:

  • 4:表示 Apache Tomcat 7.0.91
  • 7:表示 Apache Tomcat 8.5.42
  • 5:表示 OpenJDK 1.8.x
  • 6:表示 OpenJDK 1.7.x

更多信息,请参见 InsertApplication 接口的常见应用的主要参数说明。

7
ReleaseTypelong

分批方式。

  • 0 为自动。
  • 1 为各批次间需要手动确认。可在控制台目标应用的变更流程详情中单击继续下一批,也可通过调用 ContinuePipeline 继续下一批(由于使用 API 部署,建议使用自动分批),请参见 ContinuePipeline
0
Grayboolean

是否为金丝雀发布。

  • true:金丝雀发布。

    • 灰度发布时,必须指定灰度发布的分组 ID,即 GroupId。

    • 灰度发布作为一个批次发布。

    • 灰度结束后,正常发布,分组批次由 Batch 控制。

  • false:非金丝雀发布(单批或分批发布)。

true
TrafficControlStrategystring

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

{"http":{"rules":[{"conditionType":"percent","percent":10}]}}

返回参数

名称类型描述示例值
object
Codeinteger

接口请求的状态码。

200
ChangeOrderIdstring

应用部署的变更流程 ID。

adf86823-055b-48a4-a59f-fa5582******
Messagestring

接口请求返回的信息。

success
RequestIdstring

接口请求唯一标识符。

d6834ee9-5045-*************

示例

正常返回示例

JSON格式

{
  "Code": 200,
  "ChangeOrderId": "adf86823-055b-48a4-a59f-fa5582******",
  "Message": "success",
  "RequestId": "d6834ee9-5045-*************"
}

错误码

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

变更历史

变更时间变更内容概要操作
暂无变更历史