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

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

调试

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

请求头

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

请求语法

POST /pop/v5/changeorder/co_deploy HTTP/1.1

请求参数

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

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

DeployType String Query URL

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

GroupId String Query all

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

<note>如果要部署到所有分组,参数设置为all。</note>

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

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

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

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

Batch Integer Query 1

每组批次。

  • 当指定了应用分组的GroupId为具体的某个应用分组ID时,表示向指定应用分组部署。此时可指定的最小批次数为1,最大批次数为该应用分组下正常状态的ECS实例数最大值,实际分批数结果范围:[1,指定的分批数] (指定的分批数 &lt;= 指定的分组下面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固定为namevalue

BuildPackId Long Query 59

EDAS-Container构建包号。

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

有以下两种获取方式:

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

应用组件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接口的常见应用的主要参数说明。

ReleaseType Long Query 0

分批方式。

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

应用部署的变更流程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
}

错误码

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