构建
从模板创建构建
请求
POST /openapi/build?source=template
body 参数说明
参数名 | 说明 | 类型 | 必填 |
---|---|---|---|
name | 构建名称 | string | 是 |
project_key | 项目标识 | string | 是 |
template_name | 构建模板名称 | string | 是 |
target_services | 服务配置 | []TargetService | 是 |
TargetService 参数说明
参数名 | 说明 | 类型 | 必填 |
---|---|---|---|
service_module | 服务组件名称 | string | 是 |
service_name | 服务名称 | string | 是 |
repo_info | 代码库信息 | []RepoInfo | 是 |
inputs | 变量信息 | []Input | 是 |
RepoInfo 参数说明
参数名 | 说明 | 类型 | 必填 |
---|---|---|---|
codehost_name | 代码源标识 | string | 是 |
repo_namespace | 代码库所属命名空间(组织/个人) | string | 是 |
repo_name | 代码库名称 | string | 是 |
branch | 分支信息 | string | 是 |
Input 参数说明
参数名 | 说明 | 类型 | 必填 |
---|---|---|---|
key | 变量的键值 | string | 是 |
value | 变量的值 | string | 是 |
body 参数示例
{
"name": "demo-build",
"project_key": "demo",
"template_name": "demo-template",
"target_services": [
{
"service_module": "aslan",
"service_name": "zadigx",
"repo_info": [
{
"codehost_name": "github-demo",
"repo_namespace": "kr-test-org",
"repo_name": "zadig",
"branch": "main"
}
],
"inputs": [
{
"key": "name",
"value": "admin"
},
{
"key": "password",
"value": "zadigx"
}
]
}
]
}
返回
{
"message": "success"
}
查询构建列表
请求
GET /openapi/build?projectKey=<项目标识>&pageNum=<当前页数>&pageSize=<当前页显示条数>
query 参数说明
参数名 | 类型 | 描述 | 是否必须 | 默认值 |
---|---|---|---|---|
projectKey | string | 项目标识 | 是 | 无 |
pageNum | int | 分页参数-当前页数 | 否 | 1 |
pageSize | int | 分页参数-当前页显示条数 | 否 | 20 |
返回说明
参数名 | 类型 | 描述 |
---|---|---|
total | int | 构建模块总数 |
builds | []Build | 构建模块列表 |
Build 参数说明
参数名 | 类型 | 描述 |
---|---|---|
name | string | 构建名称 |
project_key | string | 项目标识 |
source | string | 构建方式,有以下两种:zadig 、jenkins |
update_by | string | 更新者 |
update_time | int | 更新时间 |
target_services | []TargetService | 服务组件列表 |
TargetService 参数说明
参数名 | 类型 | 描述 |
---|---|---|
service_name | string | 服务名称 |
service_module | string | 服务组件名称 |
正常返回
点击查看
{
"total": 2,
"builds": [
{
"name": "s-build",
"project_key": "lilian-test",
"source": "zadig",
"update_by": "admin",
"update_time": 1686192895,
"target_services": [
{
"service_name": "service1",
"service_module": "service1"
},
{
"service_name": "service2",
"service_module": "service2"
}
]
},
{
"name": "openapi-build",
"project_key": "lilian-test",
"source": "zadig",
"update_by": "admin",
"update_time": 1688040721,
"target_services": [
{
"service_name": "service1",
"service_module": "service1"
}
]
}
]
}
获取构建详情
请求
GET /openapi/build/:buildName/detail?projectKey=<项目标识>
query 参数说明
参数名 | 类型 | 描述 | 是否必须 | 默认值 |
---|---|---|---|---|
projectKey | string | 项目标识 | 是 | 无 |
路径参数说明
参数名 | 类型 | 描述 | 是否必须 | 默认值 |
---|---|---|---|---|
buildName | string | 构建名称 | 是 | 无 |
返回说明
点击查看
{
"project_key": "lilian-test", // 项目标识
"name": "openapi-build", // 构建名称
"source": "", // 构建方式,分别有 zadig,jenkins两种
"target_services": [ // 服务列表
{
"service_name": "service1", // 服务名称
"service_module": "service1" // 服务组件名称
}
],
"template_name": "test", // 模板名称
"update_by": "admin", // 更新的用户名称
"update_time": 1690215924, // 更新时间,秒级时间戳
"repos": [ // 代码源信息
{
"source": "gitee", // 有以下几种类型:github、gitlab、gerrit、codehub、gitee、gitee-enterprise、other
"repo_owner": "liyue326", // 组织名/用户名
"repo_name": "hello", // 代码库名称
"remote_name": "origin", // Remote name
"branch": "master", // 分支名称
"address":"https://gitlab.com", // 代码源
"checkout_path":"", // 克隆目录名
"submodules":false, // 子模块
},
],
"build_env": { // 构建环境
"basic_image_id": "63047770931401b9baa6e396", // 操作系统镜像ID
"basic_image_label": "ubuntu 20.04", // 操作系统镜像名称
"installs": [ // 构建依赖的软件包列表
{
"name": "go",
"version": "1.13"
}
]
},
"advanced_settings": { // 高级配置
"cluster_name": "local-20220823144517", // 集群名称
"timeout": 60, // 构建超时时间
"resource_spec": { // 集群配置项列表
"cpu_limit": 1000,
"memory_limit": 512,
"gpu_limit": ""
},
"use_host_docker_daemon": false, // 是否使用宿主机docker daemon
"cache_setting": { // 缓存配置
"enabled": false, // 是否使用自定义工作空间
"cache_dir": "" // 自定义工作流空间下的缓存路径
}
},
"build_script": "#!/bin/bash\nset -e", // 构建脚本
"parameters": [ // 自定义变量列表
{
"key": "a",
"value": "1",
"type": "string",
"is_credential": false
}
]
"outputs": [ // 输出变量列表
{
"name": "IMAGE",
"description": ""
},
{
"name": "PKG_FILE",
"description": ""
},
{
"name": "xx",
"description": ""
}
],
"post_build": { // 添加步骤
"docker_build": { // 镜像构建配置
"work_dir": "temp", // 构建上下文目录
"docker_file": "temp", // Dockerfile 的绝对路径
"build_args": "", // 构建参数
"source": "local", // Dockerfile 来源
"template_name": "" // template名称(如果dockerfile来源是模板)
},
"object_storage_upload": { // 文件存储
"enabled": true, // 是否使用工作空间缓存
"object_storage_id": "63422e0690069fe35f4e62bb", // sidebarMenu.objectStorage
"upload_detail": [ // 上传文件配置
{
"file_path": "test",
"abs_file_path": "",
"dest_path": "temp"
}
]
},
"file_archive": { // 二进制包存储
"file_location": "temp" // 二进制包存储路径
},
"scripts": "#!/bin/bash\nset -e" // Shell 脚本
}
}
删除构建
请求
DELETE /openapi/build?buildName=<构建名称>&projectKey=<项目标识>
query 参数说明
参数名 | 说明 | 类型 | 必填 |
---|---|---|---|
buildName | 构建名称 | string | 是 |
projectKey | 项目标识 | string | 是 |
返回说明
{
"message": "success"
}