• 沒有找到結果。

5.4 组件

5.4.1 应用中创建组件

功能介绍

应用组件是组成应用的某个业务特性实现,以代码或者软件包为载体,可独立部署运 行。

此API用来在应用中创建组件。

调试

您可以在API Explorer中调试该接口。

URI

POST /v2/{project_id}/cas/applications/{application_id}/components

5-80 路径参数

参数 参数类型 必选 描述

project_id String 是 租户项目ID application_id String 是 应用ID

请求消息

runtime String 是 运行时,可查询获取所有支持的应用组件运行

时类型接口返回的type_name获取。

category String 是 应用组件类型如:Webapp、MicroService、

Common。

description String 否 描述。

最大长度为128个字符。

source Object 否 代码/软件包来源,参考表5-82。

build Object 否 组件构建,参考表5-86。

5-82 source 参数

参数 参数类型 必

选 描述

kind String 是 类型,支持源码code和artifact软件包。

spec Object 是 对应code请参考表5-83;对应artifact请参考

表5-84。

5-83 code spec 参数

参数 参数类型 必

描述

repo_type String 是 代码仓类型,支持GitHub、GitLab、Gitee、

Bitbucket。

参数 参数类型 必 选

描述

repo_url String 是 代码仓url,如:https://github.com/

example/demo.git。

repo_ref String 否 代码分支或者Tag,默认是master。

repo_auth String 是 授权名称,在授权列表获取。

5-84 artifact spec 参数

参数 参数类型 必

描述

storage String 是 存储方式,支持软件仓库swr和对象存储obs。

type String 是 类别,支持package。

url String 是 软件包/源码地址。

auth String 否 认证方式,支持iam,none,默认是iam。

properties Object 否 软件包的其他属性,只有在选择对象存储obs 的时候才需要添加。参考表5-85。

5-85 artifact spec properties 参数

参数 参数类型 必

描述

endpoint String 否 obs的终端地址,如:https://

obs.region_id.external_domain_name.com。

bucket String 否 软件包在obs的桶名。

key String 否 obs桶中的对象,一般是软件包名,有文件夹 的话要加上文件夹的路径。比如test.jar或者 demo/test.jar。

5-86 build 参数

参数 参数类型 必

描述

parameters Map<String,

Object> 否 请参考表5-87。

只在没有ID,新创建构建时提供。

5-87 parameters 参数

参数 参数类型 必

描述

build_cmd String 否 编译命令。默认:

1. 根目录存在build.sh:./build.sh 2. 根据运行系统,示例如下:

● Java和Tomcat:mvn clean package

● Nodejs: npm build dockerfile_p

ath String 否 dockerfile地址。默认是根目录./。

artifact_nam

espace String 否 构建归档组织,默认cas_{project_id}。

cluster_id String 否 指定构建集群的id。

node_label_s

elector Map<String,

String> 否 key是标签的键,value是标签的值。

响应消息

5-88 响应参数

参数 参数类型 描述

id String 应用组件ID。

name String 应用组件名称。

status Integer 取值0或1。

0:表示正常状态。

1:表示正在删除。

runtime String 运行时。

category String 应用组件类型如:Webapp、MicroService、

Common。

sub_category String 应用组件子类型。

Webapp的子类型有Web。

MicroService的子类型有Java Chassis、Go Chassis、Mesher、Spring Cloud、Dubbo。

Common的子类型可以为空。

description String 描述。

project_id String 项目ID。

application_id String 应用ID。

参数 参数类型 描述

source Object 代码/软件包来源,请参考表5-89。

build Object 构建工程,请参考表5-93。

pipeline_ids id list 流水线id列表,最多10个。

create_time Integer 创建时间。

update_time Integer 修改时间。

creator String 创建者。

5-89 source 参数

参数 参数类型 描述

kind String 类型,支持源码code和artifact软件包。

spec Object 对应code请参考表5-90;对应artifact请参考表

5-91。

5-90 code spec 参数

参数 参数类型 描述

repo_type String 代码仓类型,支持GitHub、GitLab、Gitee、

Bitbucket。

repo_url String 代码仓url,如:https://github.com/example/

demo.git。

repo_ref String 代码分支或者Tag,默认是master。

repo_auth String 授权名称,在授权列表获取。

5-91 artifact spec 参数

参数 参数类型 描述

storage String 存储方式。

type String 类别。

url String 软件包/源码地址。

auth String 认证方式。

properties Object 软件包的其他属性,只有在选择对象存储obs的时 候才需要添加。参考表5-92。

5-92 artifact spec properties 参数

参数 参数类型 必

描述

endpoint String 否 obs的终端地址,如:https://

obs.region_id.external_domain_name.com。

bucket String 否 软件包在obs的桶名。

key String 否 obs桶中的对象,一般是软件包名,有文件夹 的话要加上文件夹的路径。比如test.jar或者

5-94 parameters 参数

参数 参数类型 描述

build_cmd String 编译命令。

dockerfile_path String dockerfile地址。

artifact_names

pace String 构建归档组织。

cluster_id String 指定构建集群的id。

node_label_sel

ector Map<String,

String> key是标签的键,value是标签的值。

示例

请求示例

{ "name": "mycomponent", "runtime": "Java8", "category": "MicroService", "sub_category": "Java Chassis", "description": "",

"build": { "parameters": {

"artifact_namespace": "ns"

} },

"source": {

"endpoint": "https://obs.region_id.external_domain_name.com"

} } } }

响应示例

{ "id": "384eb8d4-c193-4d84-9558-6fda2366b536", "name": "mycomponent",

"runtime": "Java8", "category": "MicroService", "sub_category": "Java Chassis", "description": "",

"project_id": "384eb8d4-c193-4d84-9558-6fda23698536", "application_id": "a8f7eed5-0aa0-4251-9723-c9119a6bf56d", "source": {

"endpoint": "https://obs.region_id.external_domain_name.com"

} } }, "build": {

"id": "w3dpv7p0t1vpxvey5hjb22iuwxway1vupwx0nae1", "parameters": {

"artifact_namespace": "ns", "use_public_cluster": true }

},

"pipeline_ids": null, "status": 0, "creator": "xxx",

"create_time": 1610333934288, "update_time": 1610333934288 }

错误码

错误码格式为:SVCSTG.00100.[Error_ID],例如:SVCSTG.00100400。错误码说明请 参考错误码。

相關文件