当前位置:主页 > 查看内容

创建流水线_容器交付流水线 ContainerOps_API参考_API

发布时间:2021-09-26 00:00| 位朋友查看

简介:功能介绍 创建流水线。 URI POST /v3/manage/pipelinegroups/{group_name}/pipelines 参数说明请参见 表1 。 表1 参数说明 参数 是否必选 参数类型 描述 group_name 是 String 流水线组名称,账号内唯一。小写字母开头,后面跟小写字母、数字、下划线或中划……

功能介绍

创建流水线。

URI

POST /v3/manage/pipelinegroups/{group_name}/pipelines

参数说明请参见表1

表1 参数说明

参数

是否必选

参数类型

描述

group_name

String

流水线组名称,账号内唯一。小写字母开头,后面跟小写字母、数字、下划线或中划线(其中下划线最多允许连续两个,并且不能直接与中划线相连),小写字母或数字结尾,1-64个字符。

请求消息

请求参数

表2 Request Header参数说明

参数

是否必选

参数类型

描述

Content-Type

String

该字段内容填为“application/json;charset=utf8”或者 “application/yaml;charset=utf8”。

请求可为json/yaml类型。

Accept

String

为“application/json”时返回json类型的响应,默认返回yaml类型的响应。

X-Auth-Token

String

用户Token,需从华为云IAM服务获取。

表3 Request Body参数说明

参数

是否必选

参数类型

描述

name

String

流水线名。

description

String

流水线描述。

pre_operation

Object

流水线执行的前置操作,详情请参见表24

post_operation

Object

执行步骤的后置操作,详情请参见表4

params

Array of objects

流水线全局变量,详情请参见表7

stages

Array of objects

流水线的执行步骤,详情请参见表8

source

String

表示创建来源,软开云填devcloud,其他服务不传或为空。

表4 notification参数说明

参数

是否必选

参数类型

描述

notifications

Array of objects

执行结果通知信息

表5 notifications参数说明

参数

是否必选

参数类型

描述

type

Integer

通知的类型,默认值为7。

config

Object

通知的配置信息,详情请参见表6

表6 config参数说明

参数

是否必选

参数类型

描述

email

String

用户的邮箱

user_id

String

用户id

user_name

String

用户名

phone_number

String

用户的手机号

condition

Integer

执行结果通知条件,0:异常时和成功时都通知;1:成功时通知;2:异常时通知。

pattern

Integer

执行结果通知方法,0:邮箱和短信都通知;1:邮箱通知;2:短信通知。

表7 Param参数说明

参数

是否必选

参数类型

描述

name

String

参数名

description

String

参数描述

value

String

参数值

id

Integer

参数id

is_template

Boolean

是否是模板参数

表8 Stage参数说明

参数

是否必选

参数类型

描述

name

String

Stage名称。

exception_handler

Object

执行步骤的异常处理方式,详情请参见表9

input_resources

Array of objects

执行步骤的输入资源,详情请参见表20.

output_resources

Array of objects

执行步骤的输出资源,详情请参见表20

pre_operation

Object

执行步骤的前置操作,详情请参见表24

post_operation

Object

执行步骤的后置操作,详情请参见表25

service_name

String

步骤类型,可以code_source、jenkins_build、dockerfile_build、test_review、official_deploy、gray_deploy

params

Object

步骤的配置信息,有service_name相关,详情请参见表11表13表15表16表18表19

表9 exception_handler参数说明

参数

是否必选

参数类型

描述

type

String

触发类型,可以为return_to_start、timeout_reset、ignore_error。

params

Object

异常处理的配置信息,timeout_reset类型需填写params,详情请参见表10

表10 timeout_reset exception_handler的params参数说明

参数

是否必选

参数类型

描述

timespan

Integer

异常等待时间,单位为小时。

表11 code_source stage的params参数说明

参数

是否必选

参数类型

描述

git_type

String

git代码类型,可以为github、gitlab、gitee 、devcloud。

url

String

代码访问地址,devcloud采用git@xxx.git的地址,其他采用http(s)://xxx.git的地址。

branch

String

branch和tag二选一,branch为分支,tag为标签。

tag

String

同上

code_trigger

Object

触发器类型,详情请参见表12

表12 code_trigger参数说明

参数

是否必选

参数类型

描述

trigger_tag_create_event

Boolean

是否tag触发。

branchs

Array of strings

分支触发,设置为分支名。

表13 jenkins_build stage的params参数说明

参数

是否必选

参数类型

描述

basic_env

String

构建环境,可以为go、java、SelfPkgBuild。

jenkins_shell

String

执行脚本。

user_basic_image

Object

当basic_env为SelfPkgBuild提供,详情请参见表14

enable_cache

Boolean

是否开启缓存。

表14 user_basic_image参数说明

参数

是否必选

参数类型

描述

namespace

String

镜像的组织名

repository

String

镜像的仓库名

tag

String

镜像的版本名

表15 dockerfile_build stage的params参数说明

参数

是否必选

参数类型

描述

dockerfile_content

String

dockerfile_content与dockerfile_path二选一。dockerfile_content为容器镜像的内容,dockerfile_path为Dockefile在代码库的相对路径。

dockerfile_path

String

同上

basic_env

String

编译环境,取值为“dockerfile_tomcat”、“dockerfile_java”、“dockerfile_go”、“dockerfile_path”,调用接口时无需设置。

build_way

String

构建方式,调用接口时无需设置。

build_path

String

构建路径,默认值为当前路径。

表16 test_review stage的params参数说明

参数

是否必选

参数类型

描述

review_mode

String

审核类型,可以为all(全部通过)、one(单人通过)。

review_users

Array of objects

审核的用户信息,详情请参见表17

表17 ReviewUser参数说明

参数

是否必选

参数类型

描述

user_name

String

用户名

email

String

用户邮箱

表18 official_deploy stage的params参数说明

参数

是否必选

参数类型

描述

deploy_mode

String

发布类型,可以为cceMode、cciMode。

input_info

String

发布信息

表19 gray_deploy stage的params参数说明

参数

是否必选

参数类型

描述

deploy_mode

String

发布类型,可以为cceMode、cciMode。

gray_mode

String

灰度发布类型,可以为istio、service。

input_info

String

部署信息

表20 Resource参数说明

参数

是否必选

参数类型

描述

name

String

资源名

description

String

资源描述

type

String

资源类型,可以image、package、code_source

params

Object

资源的配置信息,与type字段有关。详情请参见表21表22表23

表21 code_source Resource的params参数说明

参数

是否必选

参数类型

描述

stage_index

String

对应code_source stage在流水线的位置,从0开始计算。

表22 image Resource的params参数说明

参数

是否必选

参数类型

描述

namespace

String

镜像的组织名

repository

String

镜像的仓库名

tag

String

镜像的版本名

表23 package Resource的params参数说明

参数

是否必选

参数类型

描述

namespace

String

软件包的组织名

package

String

软件包名

version

String

软件包的版本名

file_path

String

文件路径

local_file_path

String

构建后文件所在的相对路径,作为jenkins_build stage的output_resources时需要填写。

表24 PreOperation参数说明

参数

是否必选

参数类型

描述

operator

String

前置操作的触发机制,可以为and、or。

triggers

Array of objects

触发方式,详情请参见表26

说明:

triggers参数设置为空数组时,也会自动生成一个Webhook触发器。

表25 PostOperation参数说明

参数

是否必选

参数类型

描述

triggers

Array of objects

触发方式,详情请参见表26

表26 Trigger参数说明

参数

是否必选

参数类型

描述

webhook

Object

Webhook触发类型,详情请参见表27。用于pre_operation的webhook时,pre_operation返回的webhook中会有生成的url地址,可调用该url触发流水线和执行步骤;用于post_operation的webhook时,须填写url具体内容。

channel

Object

Channel触发方式,详情请参见表28

pipeline_param_converts

Array of objects

触发参数,详情请参见表29

表27 Webhook参数说明

参数

是否必选

参数类型

描述

method

String

请求方式,用于post_operation的webhook,可以为POST、GET。

url

String

请求url

表28 Channel参数说明

参数

是否必选

参数类型

说明

name

String

订阅or发布的Channel名

表29 PipelineParamConvert参数说明

参数

是否必选

参数类型

描述

name

String

参数名

pipeline_param_name

String

对应的流水线全局变量

请求示例

{
    "name": "test4",
    "params": [
        {
            "description": "test",
            "name": "test",
            "value": "test"
        }
    ],
    "pre_operation": {
        "operator": "and",
        "triggers": [
            {
                "webhook": {}
            }
        ]
    },
    "stages": [
        {
            "exception_handler": {
                "params": {
                    "timespan": 72
                },
                "type": "timeout_reset"
            },
            "name": "代码获取",
            "params": {
                "branch": "master",
                "git_type": "gitee",
                "url": "https://gitee.com/hwcloudswr/demo-2048.git"
            },
            "service_name": "code_source"
        },
        {
            "exception_handler": {
                "params": {
                    "timespan": 72
                },
                "type": "timeout_reset"
            },
            "input_resources": [
                {
                    "description": "代码源",
                    "name": "codeSource",
                    "params": {
                        "stage_index": "0"
                    },
                    "type": "code_source"
                }
            ],
            "name": "代码编译",
            "output_resources": [
                {
                    "description": "",
                    "name": "sss",
                    "params": {
                        "file_path": "aa",
                        "local_file_path": "target/SpringBoot-0.0.1-SNAPSHOT.war",
                        "namespace": "dsfdsfds",
                        "package": "pkg",
                        "version": "ver"
                    },
                    "type": "package"
                }
            ],
            "params": {
                "basic_env": "java",
                "jenkins_shell": "mvn package"
            },
            "service_name": "jenkins_build"
        },
        {
            "exception_handler": {
                "params": {
                    "timespan": 72
                },
                "type": "timeout_reset"
            },
            "input_resources": [
                {
                    "description": "待构建的软件包地址",
                    "name": "sourcePackage",
                    "params": {
                        "namespace": "dsfdsfds",
                        "package": "pkg",
                        "version": "ver"
                    },
                    "type": "package"
                }
            ],
            "name": "镜像构建",
            "output_resources": [
                {
                    "description": "归档的镜像地址",
                    "name": "image",
                    "params": {
                        "namespace": "root",
                        "repository": "sdfasdfa",
                        "tag": "asdfas.5"
                    },
                    "type": "image"
                }
            ],
            "params": {
                "dockerfile_content": "FROM ubuntu\nRUN echo hello"
            },
            "service_name": "dockerfile_build"
        }
    ]
}

响应消息

响应参数

表30 响应参数

参数

参数类型

描述

name

String

流水线名

id

Integer

流水线id

group_id

Integer

流水线组id

group_name

String

流水线组名

description

String

流水线描述

pre_operation

Object

流水线执行的前置操作,详情请参见表24

params

Array of objects

流水线全局变量,详情请参见表7

stages

Array of objects

流水线的执行步骤,详情请参见表31

表31 Stage参数说明

参数

参数类型

描述

name

String

详情请参见表8

id

Integer

步骤id

exception_handler

Object

详情请参见表8

input_resources

Array of objects

详情请参见表8

output_resources

Array of objects

详情请参见表8

pre_operation

Object

详情请参见表24

post_operation

Object

详情请参见表25

service_name

String

详情请参见表8

params

Object

详情请参见表8

响应示例

{
    "id": 1608,
    "group_id": 1531,
    "group_name": "default",
    "name": "test4",
    "description": "",
    "pre_operation": {
        "operator": "and",
        "triggers": [
            {
                "webhook": {
                    "url": "https://swr.cn-north-4.myhuaweicloud.com/v2/manage/webhooks/b2d32779-c0dd-496d-949b-76f41ca72d12"
                }
            }
        ]
    },
    "params": [
        {
            "name": "test",
            "description": "test",
            "value": "test",
            "id": 0,
            "is_template": false
        }
    ],
    "stages": [
        {
            "id": 2727,
            "name": "代码获取",
            "service_name": "code_source",
            "params": {
                "git_type": "gitee",
                "url": "https://gitee.com/hwcloudswr/demo-2048.git",
                "branch": "master",
                "git_repo": "demo-2048"
            },
            "exception_handler": {
                "type": "timeout_reset",
                "params": {
                    "timespan": 72
                }
            },
            "is_task": false
        },
        {
            "id": 2728,
            "name": "代码编译",
            "service_name": "jenkins_build",
            "params": {
                "basic_env": "java",
                "jenkins_shell": "mvn package",
                "enable_cache": false
            },
            "exception_handler": {
                "type": "timeout_reset",
                "params": {
                    "timespan": 72
                }
            },
            "input_resources": [
                {
                    "name": "codeSource",
                    "description": "代码源",
                    "type": "code_source",
                    "params": {
                        "stage_index": "0"
                    }
                }
            ],
            "output_resources": [
                {
                    "name": "sss",
                    "description": "",
                    "type": "package",
                    "params": {
                        "namespace": "dsfdsfds",
                        "package": "pkg",
                        "version": "ver",
                        "file_path": "aa",
                        "local_file_path": "target/SpringBoot-0.0.1-SNAPSHOT.war"
                    }
                }
            ],
            "is_task": false
        },
        {
            "id": 2729,
            "name": "镜像构建",
            "service_name": "dockerfile_build",
            "params": {
                "dockerfile_content": "FROM ubuntu\nRUN echo hello",
                "basic_env": "dockerfile"
            },
            "exception_handler": {
                "type": "timeout_reset",
                "params": {
                    "timespan": 72
                }
            },
            "input_resources": [
                {
                    "name": "sourcePackage",
                    "description": "待构建的软件包地址",
                    "type": "package",
                    "params": {
                        "namespace": "dsfdsfds",
                        "package": "pkg",
                        "version": "ver"
                    }
                }
            ],
            "output_resources": [
                {
                    "name": "image",
                    "description": "归档的镜像地址",
                    "type": "image",
                    "params": {
                        "namespace": "root",
                        "repository": "sdfasdfa",
                        "tag": "asdfas.5"
                    }
                }
            ],
            "is_task": false
        }
    ]
}

状态码

状态码如表32所示。

表32 状态码

状态码

描述

201

创建成功

400

错误的请求

401

鉴权失败

500

内部错误


本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:ALIYUN::PVTZ::Zone - 资源编排 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐