文档首页 > > API参考> 应用管理 API> 组件> 应用中创建组件

应用中创建组件

分享
更新时间:2020/07/28 GMT+08:00

功能介绍

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

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

URI

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

表1 路径参数

参数

参数类型

必选

描述

project_id

String

租户项目ID

application_id

String

应用ID

请求参数

请求参数

表2 请求参数

参数

参数类型

必选

描述

name

String

应用组件名称

runtime

String

运行时,可查询获取所有支持的应用组件运行时类型接口返回的type_name获取

category

String

应用组件类型如:Webapp、MicroService、Common。

sub_category

String

应用组件子类型。

Webapp的子类型有Web、Magento、Wordpress。

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

Common的子类型可以为空。

description

String

描述

source

Object

代码/软件包来源,参考表3

build

Object

组件构建,参考表6

表3 source参数

参数

参数类型

必选

描述

kind

String

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

spec

Object

对应code请参考表4;对应artifact请参考表5

表4 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 artifact spec参数

参数

参数类型

必选

描述

storage

String

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

type

String

类别,支持package

url

String

软件包源码地址,如https://{IP}:20202/xxx/xxx.jar

auth

String

认证方式,支持iam,none,默认是iam

表6 build参数

参数

参数类型

必选

描述

parameters

Map<String, Object>

请参考表7。只在没有ID,新创建构建时提供

表7 parameters参数

参数

参数类型

必选

描述

build_cmd

String

编译命令。默认:

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

    Java和Tomcat:mvn clean package

    Nodejs: npm build

dockerfile_path

String

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

artifact_namespace

String

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

响应参数

响应参数

表8 响应参数

参数

参数类型

描述

id

String

应用组件ID

name

String

应用组件名称

status

Integer

取值0或1。

0:表示正常状态。

1:表示正在删除。

runtime

String

运行时

category

String

应用组件类型如:Webapp、MicroService、Common。

sub_category

String

应用组件子类型。

Webapp的子类型有Web、Magento、Wordpress。

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

Common的子类型可以为空。

description

String

描述

project_id

String

项目ID

application_id

String

应用ID

source

Object

代码/软件包来源,请参考表9

build

Object

构建工程,请参考表12

pipeline_ids

id list

流水线Id列表,最多10个。

creator

String

创建用户

create_time

Integer

创建时间

update_time

Integer

修改时间

表9 source参数

参数

参数类型

描述

kind

String

类型

spec

Object

对应code请参考表10;对应artifact请参考表11

表10 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

授权名称,在授权列表获取

表11 artifact specc参数

参数

参数类型

描述

storage

String

存储方式

type

String

类别

url

String

软件包源码地址

auth

String

认证方式

表12 build参数

参数

参数类型

描述

ID

String

类型

parameters

Map<String, Object>

请参考表13

表13 parameters参数

参数

参数类型

描述

build_cmd

String

编译命令

dockerfile_path

String

dockerfile地址

artifact_namespace

String

构建归档组织

示例

请求示例

{
    "name": "service-a", 
    "runtime": "Webapp", 
    "category": "Common", 
    "description": "component_desc", 
    "source": {
        "kind": "artifact", 
        "spec": {
            "storage": "swr", 
            "type": "package", 
            "url": "https://{IP}:20202/xxx/xxx.jar", 
            "auth": "iam"
        }
    }
}

响应示例

{
  "id": "string",
  "name": "string",
  "runtime": "Tomcat8",
  "category": "Webapp",
  "sub_category": "Web",
  "description": "string",
  "project_id": "string",
  "application_id": "string",
  "source": {
    "kind": "artifact",
    "spec": {
      "storage": "swr",
      "type": "package",
      "url": "https://{IP}:20202/xxx/xxx.jar",
      "auth": "iam"
    }
  },
  "build": {
    "id": "string",
    "parameters": {
      "artifact_namespace": "string",
      "env_vars": {}
    }
  },
  "pipeline_ids": [
    "string"
  ],
  "create_time": 0,
  "update_time": 0
}

状态码

表14 状态码说明

HTTP状态码

描述

200

操作成功。

400

错误的请求。

404

请求对象不存在

500

内部错误

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

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问