创建发布单
功能介绍
此API用来创建发布单。
URI
POST /v3/{project_id}/pipeline/pipelines
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
租户项目ID。获取方法,请参考获取项目ID。 |
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式),默认取值为“application/json;charset=utf8”。 |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
发布单名称。 |
description |
否 |
String |
发布单描述。 |
model_version |
是 |
Integer |
发布单模型。 仅支持2,表示新模型。 |
config_mode |
是 |
String |
发布单部署模式。
|
sources |
否 |
List of Object |
模板包列表,当config_mode为template时必选。请参考表4。 |
enterprise_project_id |
否 |
String |
企业项目ID。 如果不配置此参数,则默认企业项目为“default”,ID为0。 |
stages |
否 |
List of Object |
阶段参数,当“config_mode”为“ui”时必选,请参考表7。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
template_source |
是 |
Object |
模板包信息,请参考表5。 |
input_values |
否 |
Map<String, String> |
模板包输入信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
storage |
是 |
String |
组件模板包存储方式。
|
url |
是 |
String |
组件模板包地址。 组件模板包存储方式为自定义文件地址时有效。 |
http_username |
否 |
String |
用户名。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 |
http_password |
否 |
String |
密码。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 |
http_headers |
否 |
Array of objects |
请求头,请参考表6。 组件模板包存储方式为自定义文件地址且安全认证方式为自定义Header认证时有效。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
阶段名称,单个发布单中参数唯一。 |
display_name |
否 |
String |
阶段显示名称,若不填则和阶段名称一致。 |
task_group |
是 |
Array of String |
任务分组,任务分组中的参数必须和表8中的“group_index”字段相对应。 |
tasks |
是 |
Array of object |
任务参数,详情请参考表8。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
任务名称,单个阶段中参数唯一。 |
display_name |
否 |
String |
任务显示名称,若不填则和任务名称一致。 |
order_index |
是 |
Integer |
任务执行顺序,若任务“group_index”一致,则表示为同一任务组,同一任务组中执行顺序唯一。 |
group_index |
是 |
String |
任务分组,任务分组一致则表示为同一分组,与表7中的“task_group”字段保持一致。 |
task_type_id |
是 |
Object |
任务执行参数,详情请参考表9。 |
input |
否 |
Object |
任务执行参数,根据任务类型确定。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
category |
是 |
String |
任务类型。
|
type |
是 |
String |
任务执行类型。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
构建任务名称。 |
id |
是 |
String |
构建任务ID。 |
enterprise_project_id |
否 |
String |
构建任务企业项目ID。 如果不配置此参数,则默认企业项目为“default”,ID为0。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
mode |
否 |
String |
若不填则表示无需指定人员审核。
|
users |
否 |
List of Object |
审核人,若不填则表示无需人审核,请参考表12。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
应用名称。 |
description |
是 |
String |
应用描述。 |
enterprise_project_id |
否 |
String |
企业项目ID。 如果不配置此参数,则默认企业项目为“default”,ID为0。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
否 |
String |
应用组件ID。 |
name |
是 |
String |
应用组件名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,长度为2~64个字符。 |
workload_name |
否 |
String |
工作负载名称。 |
labels |
否 |
Array of objects |
标签。容器部署可通过标签查询对应工作负载;虚拟机部署可配置对应的微服务名称的标签来使用优雅上下线功能。请参考表15。 |
runtime_stack |
是 |
Object |
|
environment_id |
是 |
String |
环境ID。 |
description |
否 |
String |
描述。 最大长度为128个字符。 |
source |
是 |
Object |
代码/软件包来源,请参考表42。 |
build |
否 |
Object |
组件构建,容器部署并没有使用镜像时必传,请参考表43。 |
limit_cpu |
否 |
Number |
最大CPU限制,单位为Core。 |
limit_memory |
否 |
Number |
最大内存限制,单位为GiB。 |
request_cpu |
否 |
Number |
申请CPU资源,单位为Core。 |
request_memory |
否 |
Number |
申请内存资源,单位为GiB。 |
version |
是 |
String |
组件版本号,最大长度32,规则为: ^([0-9]+)(.[0-9]+){2,3}$ |
envs |
否 |
Array of objects |
环境变量列表,请参考表39。 |
replica |
是 |
Integer |
实例数。 |
storages |
否 |
Array of objects |
存储,请参考表16。 |
deploy_strategy |
否 |
Object |
组件部署,请参考表19。 |
command |
否 |
Object |
启动命令,请参考表23。 |
post_start |
否 |
Object |
启动后处理,请参考表24。 |
pre_stop |
否 |
Object |
停止前处理,请参考表24。 |
mesher |
否 |
Object |
多语言接入服务网格,当技术栈选择Node.js且绑定微服务引擎时为必选,请参考表25。 |
timezone |
否 |
String |
指定组件运行的时区。 |
jvm_opts |
否 |
String |
jvm参数,例如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则使用默认值。 |
tomcat_opts |
否 |
Object |
tomcat参数,技术栈选择tomcat时生效,请参考表26。 |
host_aliases |
否 |
Array of objects |
主机别名,请参考表27。 |
dns_policy |
否 |
String |
DNS策略。
|
dns_config |
否 |
Object |
DNS配置,请参考表28。 |
workload_kind |
否 |
String |
工作负载类型。
|
security_context |
否 |
Object |
安全策略,请参考表30。 |
logs |
否 |
Array of objects |
日志采集,请参考表32。 |
custom_metric |
否 |
Object |
自定义指标监控,请参考表33。 |
affinity |
否 |
Array of objects |
亲和性,请参考表34。 |
anti_affinity |
否 |
Array of objects |
反亲和性,请参考表34。 |
liveness_probe |
否 |
Object |
组件存活探针,请参考表36。 |
readiness_probe |
否 |
Object |
组件业务探针,请参考表36。 |
startup_probe |
否 |
Object |
组件启动探针,请参考表36。 |
refer_resources |
是 |
Array of objects |
关联资源,请参考表37。 |
external_accesses |
否 |
Array of Objects |
外部访问,请参考表45。 |
tolerations |
否 |
Array of Objects |
容忍度策略,请参考表46。 |
container_name |
否 |
String |
容器名称。 |
update_strategy |
否 |
Object |
组件升级策略,请参考表49。 |
multi_containers |
否 |
Array of Objects |
多容器配置,请参考表47。 |
service_name |
否 |
String |
有状态负载的实例间发现服务配置Service名称。 |
ports |
否 |
Array of Objects |
有状态负载的实例间发现服务配置端口配置。 |
workload_content |
否 |
String |
工作负载内容。 |
configs |
否 |
Array of Objects |
组件统一配置,请参考表50。 |
config_mode |
否 |
String |
工作负载配置模式。 |
enable_sermant_injection |
否 |
Boolean |
是否开启Sermant。 |
enable_sermant_spring_register |
否 |
Boolean |
Spring Cloud Huawei框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_dubbo_register |
否 |
Boolean |
Dubbo框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_config |
否 |
Boolean |
是否开启Sermant动态配置插件能力。 |
cell_id |
否 |
String |
部署单元ID。 |
swimlane_id |
否 |
String |
泳道ID。 |
sermantAgentInjectActionFlag |
否 |
Boolean |
JDK17以及JDK21是否自动添加以下JVM环境变量。 JDK17: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED JDK21: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED -Dnet.bytebuddy.experimental=true |
sys_config |
否 |
Map<String, String> |
使用压缩包在虚拟机环境下部署组件配置项。 |
image_pull_secrets |
否 |
Array of String |
镜像拉取密钥列表。 |
auto_lts_config |
否 |
Object |
LTS自动配置,请参考表51。 |
config_encryption |
否 |
Object |
单容器组件配置加密密钥时需设置,请参考表52。 |
task_setting |
否 |
Object |
job类型工作负载的任务设置,请参考表53。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
数据存储类型。
|
name |
是 |
String |
存储盘名称。 |
parameters |
是 |
Object |
对应各种数据存储类型的信息参数,请参考表17。 |
mounts |
是 |
Array of objects |
数据存储挂载路径,请参考表18。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
否 |
String |
主机路径, 适用于HostPath的存储类型。当数据存储类型为HostPath为必选参数。 |
name |
否 |
String |
配置项、密钥或者PVC的名字, 适用于ConfigMap、Secret和PersistentVolumeClaim的存储类型。当数据存储类型为ConfigMap、Secret和PersistentVolumeClaim为必选参数。 |
default_mode |
否 |
Integer |
挂载的权限,十进制格式,例如:384。适用于ConfigMap和Secret的存储类型。 |
medium |
否 |
String |
适用于EmptyDir类型的存储。不传参数为默认的磁盘介质,传参为memory则开启内存存储。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
是 |
String |
挂载路径。 |
sub_path |
是 |
String |
挂载路径的子路径。 |
read_only |
是 |
Boolean |
是否只读。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
部署类型。
|
rolling_release |
否 |
Object |
滚动部署参数,部署类型为RollingRelease时为必选,请参考表20。 |
gray_release |
否 |
Object |
灰度发布升级,部署类型为GrayRelease时为必选,请参考表21。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
灰度策略。
|
first_batch_weight |
是 |
Integer |
首批灰度流量比例,灰度策略为WEIGHT时为必选。 |
first_batch_replica |
是 |
Integer |
首批灰度实例数量,灰度策略为WEIGHT时为必选。 |
remaining_batch |
是 |
Integer |
剩余实例部署批次,首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。 例如:剩余实例数是5,剩余部署批次是3,那么升级剩余实例会按照2:2:1个实例分批升级。 灰度策略为WEIGHT时为必选。 |
deployment_mode |
否 |
Integer |
部署模型。
|
replica_surge_mode |
否 |
String |
灰度实例新增模式,灰度策略为CONTENT时为必选。
|
rule_match_mode |
否 |
String |
灰度规则生效方式,灰度策略为CONTENT时为必选。
|
rules |
否 |
Object |
灰度规则,参数表22,灰度策略为CONTENT时为必选。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
匹配类型。当前仅支持:HEADER,请求头。 |
key |
是 |
String |
参数名称。 |
value |
是 |
String |
条件值。 |
condition |
是 |
String |
条件类型。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
command |
否 |
Array of String |
运行命令,控制容器运行的输入命令。 |
args |
否 |
Array of String |
运行参数,控制容器运行命令的输入参数。例如:-port=8080,多条参数以换行分隔。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
处理方式。
|
scheme |
否 |
String |
http请求类型参数:HTTP、HTTPS。 type为http类型时生效。 |
host |
否 |
String |
默认为POD的IP,可以指定自定义的IP。 type为http类型时生效。 |
port |
否 |
Integer |
端口号,type为http类型时生效。 |
path |
否 |
String |
请求路径,type为http类型时生效。 |
command |
否 |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
server_xml |
是 |
String |
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
nameservers |
否 |
Array of String |
Pod的DNS服务器的IP地址列表。 |
searches |
否 |
Array of String |
可选,用于在Pod中查找主机名的DNS搜索域的列表。 |
options |
否 |
Array of objects |
可选,对象列表。其中每个对象可能具有name属性(必需)和value属性(可选)。 此属性中的内容将合并到从指定的DNS策略生成的选项,重复的条目将被删除,请参考表29。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
run_as_user |
否 |
Integer |
运行用户,容器以当前用户权限运行,如以root权限运行则填写root用户ID 0。 |
run_as_group |
否 |
Integer |
运行属组,指定所有容器中的进程都以属组运行。 |
capabilities |
否 |
Object |
能力集,请参考表31。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
add |
否 |
Array of String |
为运行用户添加Linux权限。 |
drop |
否 |
Array of String |
移除运行用户Linux权限。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
log_path |
是 |
String |
容器中日志路径。 |
rotate |
是 |
String |
日志转储周期。 |
host_path |
是 |
String |
挂载的主机路径。 |
host_extend_path |
是 |
String |
主机扩展路径,通过扩展主机路径,实现同一个主机路径下区分来自不同容器的挂载:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
path |
是 |
String |
采集路径,例如:/metrics。 |
port |
是 |
Integer |
采集端口,例如:9090。 |
dimensions |
是 |
String |
监控维度,例如:"cpu_usage,mem_usage"。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
kind |
否 |
String |
对象类型。
|
condition |
否 |
String |
策略满足类型。
|
match_expressions |
否 |
Array of objects |
调度策略规则,请参考表35。 |
weight |
否 |
String |
权重。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
是 |
String |
条件key值 |
value |
是 |
String |
条件value值 |
operation |
是 |
String |
操作 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
是 |
String |
类型:http、tcp、command。 |
delay |
是 |
Integer |
启动后多久开始探测。 |
timeout |
是 |
Integer |
探测超时时间。 |
scheme |
否 |
String |
请求类型:HTTP、HTTPS,type为http类型时生效。 |
host |
否 |
String |
默认为POD的IP,可以指定自定义的IP。type为http类型时生效。 |
port |
否 |
Integer |
端口号,type为http和tcp类型时生效。 |
path |
否 |
String |
请求路径,type为http类型时生效。 |
command |
否 |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
是 |
String |
资源ID。 |
type |
是 |
String |
资源类型:
|
parameters |
否 |
Object |
资源参数,请参考表38。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
namespace |
否 |
String |
命名空间。 |
name |
否 |
String |
资源名。 |
capacity |
否 |
Integer |
存储容量,单位GiB。 |
type |
否 |
String |
存储卷声明类型。
|
class |
否 |
String |
存储卷声明子类型。
|
obs_volume_type |
否 |
String |
OBS存储卷类型,默认为STANDARD标准存储类型。 |
access_mode |
否 |
String |
存储卷访问模式。
|
availableZone |
否 |
String |
可用区。 |
volume_type |
否 |
String |
存储卷类型。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
reference_type |
是 |
String |
引用类型。
|
name |
是 |
String |
配置项或密钥的名称。 |
key |
否 |
String |
配置项或密钥的键值。 |
optional |
否 |
Boolean |
配置项或密钥的key是否必须存在。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
技术栈名称。 |
type |
是 |
String |
技术栈类型,支持Java、Tomcat、Nodejs、Php、Docker、Python。
|
version |
是 |
String |
技术栈版本。 |
deploy_mode |
是 |
String |
部署方式。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
kind |
是 |
String |
组件来源类型。
|
version |
否 |
String |
版本号。 |
url |
否 |
String |
包地址,类型为package和image时需要添加。 |
storage |
否 |
String |
存储方式。
组件来源包类型为package和image时需要添加。 |
http_username |
否 |
String |
在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写用户名。 |
http_password |
否 |
String |
在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写密码。 |
http_command |
否 |
String |
在“storage”为“http”时需要填写,这里是用户定义软件包的地址。 |
http_headers |
否 |
Map<String, String> |
在“storage”为“http”时需要填写,支持用户自定义请求头,支持填写一个key,value,例如{"key":"xx","value":"xx""},其中的key和value关键字固定。 |
auth |
否 |
String |
认证方式,支持iam、none,默认是iam。 |
repo_auth |
否 |
String |
授权名称,在授权列表获取,请参考获取仓库授权列表。 |
repo_namespace |
否 |
String |
代码仓库命名空间。 |
repo_ref |
否 |
String |
代码分支或者Tag,默认是master。 |
repo_type |
否 |
String |
代码仓类型,支持CodeArts、Gitee、GitHub、BitBucket、GitLab。 |
web_url |
否 |
String |
代码跳转链接,例如:https://github.com/example/demo.git。 |
repo_url |
否 |
String |
代码仓url,例如:https://github.com/example/demo.git。 |
commit_id |
否 |
String |
代码仓库中,commit id是每次提交的唯一标识符,用于识别和引用特定的提交。 长度为8到40个字符,以小写字母或数字开头。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
build_cmd |
否 |
String |
编译命令。默认:
|
dockerfile_path |
否 |
String |
dockerfile地址。默认是根目录./。 |
artifact_namespace |
否 |
String |
构建归档组织。默认cas_{project_id}。 |
cluster_id |
是 |
String |
指定构建集群的ID。 |
node_label_selector |
否 |
Map<String, String> |
key是标签的键,value是标签的值。 |
environment_id |
否 |
String |
环境ID。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
protocol |
否 |
String |
外部访问类型,取值范围为:http、https。 |
address |
否 |
String |
外部访问地址。 |
forward_port |
否 |
Integer |
外部访问端口。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
否 |
String |
污点键。 |
operator |
否 |
String |
操作符。
|
value |
否 |
String |
污点值。“operator”为“Equal”时,需要填写污点值。 |
effect |
否 |
String |
污点策略。
|
toleration_seconds |
否 |
Integer |
容忍时间窗。 当“effect”为“NoExecute”时支持配置。在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
container_name |
是 |
String |
容器名称。 |
source |
是 |
Object |
代码/软件包来源,请参考表42,多容器模式下仅支持镜像。 |
limit_cpu |
否 |
Number |
最大CPU限制,单位为Core。 |
limit_memory |
否 |
Number |
最大内存限制,单位为GiB。 |
request_cpu |
否 |
Number |
申请CPU资源,单位为Core。 |
request_memory |
否 |
Number |
申请内存资源,单位为GiB。 |
envs |
否 |
Array of objects |
环境变量列表,请参考表39。 |
liveness_probe |
否 |
Object |
容器存活探针,请参考表36。 |
readiness_probe |
否 |
Object |
容器业务探针,请参考表36。 |
startup_probe |
否 |
Object |
容器启动探针,请参考表36。 |
command |
否 |
Object |
启动命令,请参考表23。 |
post_start |
否 |
Object |
启动后处理,请参考表24。 |
pre_stop |
否 |
Object |
停止前处理,请参考表24。 |
logs |
否 |
Array of objects |
日志采集,请参考表32。 |
storages |
否 |
Array of objects |
存储,请参考表16。 |
security_context |
否 |
Object |
安全策略,请参考表30。 |
config_encryption |
否 |
Object |
多容器组件配置加密密钥时需设置,请参考表52。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
端口名称。 |
port |
是 |
String |
访问端口。 |
target_port |
是 |
String |
容器端口。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
type |
否 |
String |
组件升级类型:
|
max_unavailable |
否 |
|
最大无效实例数。与replica相比,可以有多少个实例失效,也就是删除的比例,默认值是25%。workload_kind为deployment时支持设置。
|
max_surge |
否 |
|
最大浪涌。与replica相比,可以有多少个实例存在,默认值是25%。仅workload_kind为deployment时支持设置。
|
termination_period_seconds |
否 |
Integer |
缩容时间窗。工作负载停止前命令的执行时间窗,默认值为30秒。 |
min_ready_seconds |
否 |
Integer |
实例可用最短时间。指定新创建的实例在没有任意容器崩溃情况下的最小就绪时间,只有超出这个时间实例才被视为可用。 默认值为 0。 |
progress_deadline_seconds |
否 |
Integer |
升级最大时长。指定系统在报告组件升级失败之前等待组件取得进展的秒数。 如果指定,则此字段值需要大于min_ready_seconds取值。 |
revision_history_limit |
否 |
Integer |
最大保留版本数。用来设定出于回滚目的所要保留的旧实例数量。默认情况下,系统保留10个旧实例。 |
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
发布单名称 |
description |
String |
发布单描述。 |
model_version |
Integer |
发布单模型。 仅支持2,表示新模型。 |
config_mode |
String |
发布单部署模式。
|
id |
String |
发布单ID。 |
fail_mode |
String |
激进策略。
|
enterprise_project_id |
String |
企业项目ID。 |
pipeline_declaration |
List of Object |
阶段参数,当“config_mode”为“ui”时必选,请参考表54。 |
参数 |
参数类型 |
描述 |
---|---|---|
sources |
List of Object |
模板包列表,请参考表55。 |
stages |
List of Object |
阶段参数,请参考表58。 |
参数 |
参数类型 |
描述 |
---|---|---|
template_source |
Object |
模板包信息,请参考表56。 |
input_values |
Map<String, String> |
模板包输入信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
storage |
String |
组件模板包存储方式。
|
url |
String |
组件模板包地址。 组件模板包存储方式为自定义文件地址时有效。 |
http_username |
String |
用户名。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 |
http_password |
String |
密码。 组件模板包存储方式为自定义文件地址且安全认证方式为用户名密码认证时有效。 |
http_headers |
Array of objects |
请求头,请参考表57。 组件模板包存储方式为自定义文件地址且安全认证方式为自定义Header认证时有效。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
阶段名称,单个发布单中参数唯一。 |
display_name |
String |
阶段显示名称,若不填则和阶段名称一致。 |
task_group |
Array of String |
任务分组,任务分组中的参数必须和表59中的“group_index”字段相对应。 |
tasks |
Array of object |
任务参数,请参考表59。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
任务名称,单个阶段中参数唯一。 |
display_name |
String |
任务显示名称,若不填则和任务名称一致。 |
order_index |
Integer |
任务执行顺序,若任务“group_index”一致,则表示为同一任务组,同一任务组中执行顺序唯一。 |
group_index |
String |
任务分组,任务分组一致则表示为同一分组,与表58中的“task_group”字段保持一致。 |
task_type_id |
Object |
任务执行参数,请参考表60。 |
input |
Object |
任务执行参数,根据任务类型确定。 |
参数 |
参数类型 |
描述 |
---|---|---|
category |
String |
任务类型。
|
type |
String |
任务执行类型。
|
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
构建任务名称。 |
id |
String |
构建任务ID。 |
enterprise_project_id |
String |
构建任务企业项目ID。 |
参数 |
参数类型 |
描述 |
---|---|---|
mode |
String |
若不填则表示无需指定人员审核。
|
users |
List of Object |
审核人,若不填则表示无需人审核,请参考表63。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
应用名称。 |
description |
String |
应用描述。 |
enterprise_project_id |
String |
企业项目ID。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
应用组件ID。 |
name |
String |
应用组件名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,长度为2~64个字符。 |
workload_name |
String |
工作负载名称。 |
labels |
Array of objects |
标签。容器部署可通过标签查询对应工作负载;虚拟机部署可配置对应的微服务名称的标签来使用优雅上下线功能。请参考表66。 |
runtime_stack |
Object |
|
environment_id |
String |
环境ID。 |
description |
String |
描述。 最大长度为128个字符。 |
source |
Object |
代码/软件包来源,请参考表93。 |
build |
Object |
组件构建,容器部署并没有使用镜像时必传,请参考表94。 |
limit_cpu |
Number |
最大CPU限制,单位为Core。 |
limit_memory |
Number |
最大内存限制,单位为GiB。 |
request_cpu |
Number |
申请CPU资源,单位为Core。 |
request_memory |
Number |
申请内存资源,单位为GiB。 |
version |
String |
组件版本号,最大长度32,规则为: ^([0-9]+)(.[0-9]+){2,3}$ |
envs |
Array of objects |
环境变量列表,请参考表90。 |
replica |
Integer |
实例数。 |
storages |
Array of objects |
存储,请参考表67。 |
deploy_strategy |
Object |
组件部署,请参考表70。 |
command |
Object |
启动命令,请参考表74。 |
post_start |
Object |
启动后处理,请参考表75。 |
pre_stop |
Object |
停止前处理,请参考表75。 |
mesher |
Object |
多语言接入服务网格,当技术栈选择Node.js且绑定微服务引擎时为必选,请参考表76。 |
timezone |
String |
指定组件运行的时区。 |
jvm_opts |
String |
jvm参数,例如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则使用默认值。 |
tomcat_opts |
Object |
tomcat参数,技术栈选择tomcat时生效,请参考表77。 |
host_aliases |
Array of objects |
主机别名,请参考表78。 |
dns_policy |
String |
DNS策略。
|
dns_config |
Object |
DNS配置,请参考表79。 |
workload_kind |
String |
工作负载类型。
|
security_context |
Object |
安全策略,请参考表81。 |
logs |
Array of objects |
日志采集,请参考表83。 |
custom_metric |
Object |
自定义指标监控,请参考表84。 |
affinity |
Array of objects |
亲和性,请参考表85。 |
anti_affinity |
Array of objects |
反亲和性,请参考表85。 |
liveness_probe |
Object |
组件存活探针,请参考表87。 |
readiness_probe |
Object |
组件业务探针,请参考表87。 |
startup_probe |
Object |
组件启动探针,请参考表87。 |
refer_resources |
Array of objects |
关联资源,请参考表88。 |
external_accesses |
Array of Objects |
外部访问,请参考表96。 |
tolerations |
Array of Objects |
容忍度策略,请参考表97。 |
container_name |
String |
容器名称。 |
update_strategy |
Object |
组件升级策略,请参考表100。 |
multi_containers |
Array of Objects |
多容器配置,请参考表98。 |
service_name |
String |
有状态负载的实例间发现服务配置Service名称。 |
ports |
Array of Objects |
有状态负载的实例间发现服务配置端口配置。 |
workload_content |
String |
工作负载内容。 |
configs |
Array of Objects |
组件统一配置,请参考表50。 |
config_mode |
String |
工作负载配置模式。 |
enable_sermant_injection |
Boolean |
是否开启Sermant。 |
enable_sermant_spring_register |
Boolean |
Spring Cloud Huawei框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_dubbo_register |
Boolean |
Dubbo框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_config |
Boolean |
是否开启Sermant动态配置插件能力。 |
cell_id |
String |
部署单元ID。 |
swimlane_id |
String |
泳道ID。 |
sermantAgentInjectActionFlag |
Boolean |
JDK17以及JDK21是否自动添加以下JVM环境变量。 JDK17: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED JDK21: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED -Dnet.bytebuddy.experimental=true |
sys_config |
Map<String, String> |
使用压缩包在虚拟机环境下部署组件配置项。 |
image_pull_secrets |
Array of String |
镜像拉取密钥列表。 |
auto_lts_config |
Object |
LTS自动配置,请参考表51。 |
config_encryption |
Object |
单容器组件配置加密密钥时需设置,请参考表52。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
数据存储类型。
|
name |
String |
存储盘名称。 |
parameters |
Object |
对应各种数据存储类型的信息参数,请参考表68。 |
mounts |
Array of objects |
数据存储挂载路径,请参考表69。 |
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
主机路径, 适用于HostPath的存储类型。当数据存储类型为HostPath为必选参数。 |
name |
String |
配置项、密钥或者PVC的名字, 适用于ConfigMap、Secret和PersistentVolumeClaim的存储类型。当数据存储类型为ConfigMap、Secret和PersistentVolumeClaim为必选参数。 |
default_mode |
Integer |
挂载的权限,十进制格式,例如:384。适用于ConfigMap和Secret的存储类型。 |
medium |
String |
适用于EmptyDir类型的存储。不传参数为默认的磁盘介质,传参为memory则开启内存存储。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
部署类型。
|
rolling_release |
Object |
滚动部署参数,部署类型为RollingRelease时为必选,请参考表71。 |
gray_release |
Object |
灰度发布升级,部署类型为GrayRelease时为必选,请参考表72。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
灰度策略。
|
first_batch_weight |
Integer |
首批灰度流量比例,灰度策略为WEIGHT时为必选。 |
first_batch_replica |
Integer |
首批灰度实例数量,灰度策略为WEIGHT时为必选。 |
remaining_batch |
Integer |
剩余实例部署批次,首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。 例如:剩余实例数是5,剩余部署批次是3,那么升级剩余实例会按照2:2:1个实例分批升级。 灰度策略为WEIGHT时为必选。 |
deployment_mode |
Integer |
部署模型。
|
replica_surge_mode |
String |
灰度实例新增模式,灰度策略为CONTENT时为必选。
|
rule_match_mode |
String |
灰度规则生效方式,灰度策略为CONTENT时为必选。
|
rules |
Object |
灰度规则,参数表73,灰度策略为CONTENT时为必选。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
匹配类型。当前仅支持:HEADER,请求头。 |
key |
String |
参数名称。 |
value |
String |
条件值。 |
condition |
String |
条件类型。
|
参数 |
参数类型 |
描述 |
---|---|---|
command |
Array of String |
运行命令,控制容器运行的输入命令。 |
args |
Array of String |
运行参数,控制容器运行命令的输入参数。例如:-port=8080,多条参数以换行分隔。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
处理方式。
|
scheme |
String |
http请求类型参数:HTTP、HTTPS。 type为http类型时生效。 |
host |
String |
默认为POD的IP,可以指定自定义的IP。 type为http类型时生效。 |
port |
Integer |
端口号,type为http类型时生效。 |
path |
String |
请求路径,type为http类型时生效。 |
command |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
server_xml |
String |
|
参数 |
参数类型 |
描述 |
---|---|---|
nameservers |
Array of String |
Pod的DNS服务器的IP地址列表。 |
searches |
Array of String |
可选,用于在Pod中查找主机名的DNS搜索域的列表。 |
options |
Array of objects |
可选,对象列表。其中每个对象可能具有name属性(必需)和value属性(可选)。 此属性中的内容将合并到从指定的DNS策略生成的选项,重复的条目将被删除,请参考表80。 |
参数 |
参数类型 |
描述 |
---|---|---|
run_as_user |
Integer |
运行用户,容器以当前用户权限运行,如以root权限运行则填写root用户ID 0。 |
run_as_group |
Integer |
运行属组,指定所有容器中的进程都以属组运行。 |
capabilities |
Object |
能力集,请参考表82。 |
参数 |
参数类型 |
描述 |
---|---|---|
log_path |
String |
容器中日志路径。 |
rotate |
String |
日志转储周期。 |
host_path |
String |
挂载的主机路径。 |
host_extend_path |
String |
主机扩展路径,通过扩展主机路径,实现同一个主机路径下区分来自不同容器的挂载:
|
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
采集路径,例如:/metrics。 |
port |
Integer |
采集端口,例如:9090。 |
dimensions |
String |
监控维度,例如:"cpu_usage,mem_usage"。 |
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
对象类型。
|
condition |
String |
策略满足类型。
|
match_expressions |
Array of objects |
调度策略规则,请参考表86。 |
weight |
String |
权重。
|
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
类型:http、tcp、command。 |
delay |
Integer |
启动后多久开始探测。 |
timeout |
Integer |
探测超时时间。 |
scheme |
String |
请求类型:HTTP、HTTPS,type为http类型时生效。 |
host |
String |
默认为POD的IP,可以指定自定义的IP。type为http类型时生效。 |
port |
Integer |
端口号,type为http和tcp类型时生效。 |
path |
String |
请求路径,type为http类型时生效。 |
command |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
资源ID。 |
type |
String |
资源类型:
|
parameters |
Object |
资源参数,请参考表89。 |
参数 |
参数类型 |
描述 |
---|---|---|
namespace |
String |
命名空间。 |
name |
String |
资源名。 |
capacity |
Integer |
存储容量,单位GiB。 |
type |
String |
存储卷声明类型。
|
class |
String |
存储卷声明子类型。
|
obs_volume_type |
String |
OBS存储卷类型,默认为STANDARD标准存储类型。 |
access_mode |
String |
存储卷访问模式。
|
availableZone |
String |
可用区。 |
volume_type |
String |
存储卷类型。 |
参数 |
参数类型 |
描述 |
---|---|---|
reference_type |
String |
引用类型。
|
name |
String |
配置项或密钥的名称。 |
key |
String |
配置项或密钥的键值。 |
optional |
Boolean |
配置项或密钥的key是否必须存在。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
技术栈名称。 |
type |
String |
技术栈类型,支持Java、Tomcat、Nodejs、Php、Docker、Python。
|
version |
String |
技术栈版本。 |
deploy_mode |
String |
部署方式。
|
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
组件来源包类型。
|
version |
String |
版本号。 |
url |
String |
包地址,组件来源包类型为package和image时需要添加。 |
storage |
String |
存储方式。
组件来源包类型为package和image时需要添加。 |
auth |
String |
认证方式,支持iam、none,默认是iam。 |
repo_auth |
String |
授权名称,在授权列表获取,请参考获取仓库授权列表。 |
repo_namespace |
String |
代码仓库命名空间。 |
repo_ref |
String |
代码分支或者Tag,默认是master。 |
repo_type |
String |
代码仓类型,支持CodeArts、Gitee、GitHub、BitBucket、GitLab。 |
web_url |
String |
代码跳转链接,例如:https://github.com/example/demo.git。 |
repo_url |
String |
代码仓url,例如:https://github.com/example/demo.git。 |
http_username |
String |
在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写用户名。 |
http_password |
String |
在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写密码。 |
http_command |
String |
在“storage”为“http”时需要填写,这里是用户定义软件包的地址。 |
http_headers |
Map<String, String> |
在“storage”为“http”时需要填写,支持用户自定义请求头,支持填写一个key,value,例如{"key":"xx","value":"xx""},其中的key和value关键字固定。 |
参数 |
参数类型 |
描述 |
---|---|---|
build_cmd |
String |
编译命令。默认:
|
dockerfile_path |
String |
dockerfile地址。默认是根目录./。 |
artifact_namespace |
String |
构建归档组织。默认cas_{project_id}。 |
cluster_id |
String |
指定构建集群的ID。 |
node_label_selector |
Map<String, String> |
key是标签的键,value是标签的值。 |
environment_id |
String |
环境ID。 |
参数 |
参数类型 |
描述 |
---|---|---|
protocol |
String |
外部访问类型,取值范围为:http、https。 |
address |
String |
外部访问地址。 |
forward_port |
Integer |
外部访问端口。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
污点键。 |
operator |
String |
操作符。
|
value |
String |
污点值。“operator”为“Equal”时,需要填写污点值。 |
effect |
String |
污点策略。
|
toleration_seconds |
Integer |
容忍时间窗。 当“effect”为“NoExecute”时支持配置。在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。 |
参数 |
参数类型 |
描述 |
---|---|---|
container_name |
String |
容器名称。 |
source |
Object |
代码/软件包来源,请参考表93,多容器模式下仅支持镜像。 |
limit_cpu |
Number |
最大CPU限制,单位为Core。 |
limit_memory |
Number |
最大内存限制,单位为GiB。 |
request_cpu |
Number |
申请CPU资源,单位为Core。 |
request_memory |
Number |
申请内存资源,单位为GiB。 |
envs |
Array of objects |
环境变量列表,请参考表90。 |
liveness_probe |
Object |
容器存活探针,请参考表87。 |
readiness_probe |
Object |
容器业务探针,请参考表87。 |
startup_probe |
Object |
容器启动探针,请参考表87。 |
command |
Object |
启动命令,请参考表74。 |
post_start |
Object |
启动后处理,请参考表75。 |
pre_stop |
Object |
停止前处理,请参考表75。 |
logs |
Array of objects |
日志采集,请参考表83。 |
storages |
Array of objects |
存储,请参考表67。 |
security_context |
Object |
安全策略,请参考表81。 |
config_encryption |
Object |
多容器组件配置加密密钥时需设置,请参考表52。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
端口名称。 |
port |
String |
访问端口。 |
target_port |
String |
容器端口。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
组件升级类型:
|
max_unavailable |
|
最大无效实例数。与replica相比,可以有多少个实例失效,也就是删除的比例,默认值是25%。workload_kind为deployment时支持设置。
|
max_surge |
|
最大浪涌。与replica相比,可以有多少个实例存在,默认值是25%。仅workload_kind为deployment时支持设置。
|
termination_period_seconds |
Integer |
缩容时间窗。工作负载停止前命令的执行时间窗,默认值为30秒。 |
min_ready_seconds |
Integer |
实例可用最短时间。指定新创建的实例在没有任意容器崩溃情况下的最小就绪时间,只有超出这个时间实例才被视为可用。 默认值为 0。 |
progress_deadline_seconds |
Integer |
升级最大时长。指定系统在报告组件升级失败之前等待组件取得进展的秒数。 如果指定,则此字段值需要大于min_ready_seconds取值。 |
revision_history_limit |
Integer |
最大保留版本数。用来设定出于回滚目的所要保留的旧实例数量。默认情况下,系统保留10个旧实例。 |
参数 |
参数类型 |
描述 |
---|---|---|
conifg_id |
String |
统一配置ID。 |
mount_path |
String |
挂载路径。 |
参数 |
参数类型 |
描述 |
---|---|---|
enable |
Boolean |
是否开启LTS自动配置。 |
lts_log_path |
Array of String |
接入配置日志路径。 |
参数 |
参数类型 |
描述 |
---|---|---|
key_id |
String |
DEW服务中用户密钥ID。 |
请求示例
{ "model_version": 2, "name": "release-template", "config_mode": "template", "description": "", "enterprise_project_id": "0", "sources": [ { "template_source": { "storage": "obs", "url": "obs://obs-zyh/create-component.zip", "http_username": "", "http_password": "", "http_headers": [] }, "input_values": { "env_name": "demo", "image1": "swr.cn-north-4.myhuaweicloud.com/cse/java-cce:v3", "application_id": "demo", "component_name1": "demo", "cce_id": "demo" } } ] }
响应示例
{ "id": "4105b37a-947e-4aca-90d8-cec7c04c6f38", "enterprise_project_id": "0", "name": "release-gn7mre11", "enterprise_project": "default", "model_version": 2, "creator": "zhangyuhao-3", "status": null, "revisor": "zhangyuhao-3", "create_at": 1739865312582, "update_at": 1739865967776, "fail_mode": "stop", "strategy_type": 0, "description": "test", "pipeline_declaration": { "stages": [ { "id": 15, "name": "75foki", "approval_type": 0, "display_name": "stage", "type": null, "pipeline_id": null, "order_index": 0, "status": null, "task_group": [ "0" ], "tasks": [ { "id": 17, "name": "bkdi55", "display_name": "create-application-187", "task_type_id": { "category": "Application", "owner": null, "provider": null, "type": "upsert" }, "input": { "displayName": "create-application-187", "originalName": "bkdi55", "name": "xxz", "description": "", "enterprise_project_id": "0", "checked": true }, "output": {}, "status": null, "order_index": 0, "skipped": false, "group_index": "0", "delay_time": 0, "error_details": null, "stage_name": "75foki" } ] } ], "config_mode": "ui" } }
状态码
状态码 |
描述 |
---|---|
200 |
操作成功。 |
400 |
错误的请求。 |
404 |
请求对象不存在。 |
500 |
内部错误。 |
错误码
请参考ServiceStage错误码。