构建

从模板创建构建

请求

  1. 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 参数示例

  1. {
  2. "name": "demo-build",
  3. "project_key": "demo",
  4. "template_name": "demo-template",
  5. "target_services": [
  6. {
  7. "service_module": "aslan",
  8. "service_name": "zadigx",
  9. "repo_info": [
  10. {
  11. "codehost_name": "github-demo",
  12. "repo_namespace": "kr-test-org",
  13. "repo_name": "zadig",
  14. "branch": "main"
  15. }
  16. ],
  17. "inputs": [
  18. {
  19. "key": "name",
  20. "value": "admin"
  21. },
  22. {
  23. "key": "password",
  24. "value": "zadigx"
  25. }
  26. ]
  27. }
  28. ]
  29. }

返回

  1. {
  2. "message": "success"
  3. }

查询构建列表

请求

  1. GET /openapi/build?projectKey=<项目标识>&pageNum=<当前页数>&pageSize=<当前页显示条数>

query 参数说明

参数名类型描述是否必须默认值
projectKeystring项目标识
pageNumint分页参数-当前页数1
pageSizeint分页参数-当前页显示条数20

返回说明

参数名类型描述
totalint构建模块总数
builds[]Build构建模块列表

Build 参数说明

参数名类型描述
namestring构建名称
project_keystring项目标识
sourcestring构建方式,有以下两种:zadigjenkins
update_bystring更新者
update_timeint更新时间
target_services[]TargetService服务组件列表

TargetService 参数说明

参数名类型描述
service_namestring服务名称
service_modulestring服务组件名称

正常返回

点击查看

  1. {
  2. "total": 2,
  3. "builds": [
  4. {
  5. "name": "s-build",
  6. "project_key": "lilian-test",
  7. "source": "zadig",
  8. "update_by": "admin",
  9. "update_time": 1686192895,
  10. "target_services": [
  11. {
  12. "service_name": "service1",
  13. "service_module": "service1"
  14. },
  15. {
  16. "service_name": "service2",
  17. "service_module": "service2"
  18. }
  19. ]
  20. },
  21. {
  22. "name": "openapi-build",
  23. "project_key": "lilian-test",
  24. "source": "zadig",
  25. "update_by": "admin",
  26. "update_time": 1688040721,
  27. "target_services": [
  28. {
  29. "service_name": "service1",
  30. "service_module": "service1"
  31. }
  32. ]
  33. }
  34. ]
  35. }

获取构建详情

请求

  1. GET /openapi/build/:buildName/detail?projectKey=<项目标识>

query 参数说明

参数名类型描述是否必须默认值
projectKeystring项目标识

路径参数说明

参数名类型描述是否必须默认值
buildNamestring构建名称

返回说明

点击查看

  1. {
  2. "project_key": "lilian-test", // 项目标识
  3. "name": "openapi-build", // 构建名称
  4. "source": "", // 构建方式,分别有 zadig,jenkins两种
  5. "target_services": [ // 服务列表
  6. {
  7. "service_name": "service1", // 服务名称
  8. "service_module": "service1" // 服务组件名称
  9. }
  10. ],
  11. "template_name": "test", // 模板名称
  12. "update_by": "admin", // 更新的用户名称
  13. "update_time": 1690215924, // 更新时间,秒级时间戳
  14. "repos": [ // 代码源信息
  15. {
  16. "source": "gitee", // 有以下几种类型:github、gitlab、gerrit、codehub、gitee、gitee-enterprise、other
  17. "repo_owner": "liyue326", // 组织名/用户名
  18. "repo_name": "hello", // 代码库名称
  19. "remote_name": "origin", // Remote name
  20. "branch": "master", // 分支名称
  21. "address":"https://gitlab.com", // 代码源
  22. "checkout_path":"", // 克隆目录名
  23. "submodules":false, // 子模块
  24. },
  25. ],
  26. "build_env": { // 构建环境
  27. "basic_image_id": "63047770931401b9baa6e396", // 操作系统镜像ID
  28. "basic_image_label": "ubuntu 20.04", // 操作系统镜像名称
  29. "installs": [ // 构建依赖的软件包列表
  30. {
  31. "name": "go",
  32. "version": "1.13"
  33. }
  34. ]
  35. },
  36. "advanced_settings": { // 高级配置
  37. "cluster_name": "local-20220823144517", // 集群名称
  38. "timeout": 60, // 构建超时时间
  39. "resource_spec": { // 集群配置项列表
  40. "cpu_limit": 1000,
  41. "memory_limit": 512,
  42. "gpu_limit": ""
  43. },
  44. "use_host_docker_daemon": false, // 是否使用宿主机docker daemon
  45. "cache_setting": { // 缓存配置
  46. "enabled": false, // 是否使用自定义工作空间
  47. "cache_dir": "" // 自定义工作流空间下的缓存路径
  48. }
  49. },
  50. "build_script": "#!/bin/bash\nset -e", // 构建脚本
  51. "parameters": [ // 自定义变量列表
  52. {
  53. "key": "a",
  54. "value": "1",
  55. "type": "string",
  56. "is_credential": false
  57. }
  58. ]
  59. "outputs": [ // 输出变量列表
  60. {
  61. "name": "IMAGE",
  62. "description": ""
  63. },
  64. {
  65. "name": "PKG_FILE",
  66. "description": ""
  67. },
  68. {
  69. "name": "xx",
  70. "description": ""
  71. }
  72. ],
  73. "post_build": { // 添加步骤
  74. "docker_build": { // 镜像构建配置
  75. "work_dir": "temp", // 构建上下文目录
  76. "docker_file": "temp", // Dockerfile 的绝对路径
  77. "build_args": "", // 构建参数
  78. "source": "local", // Dockerfile 来源
  79. "template_name": "" // template名称(如果dockerfile来源是模板)
  80. },
  81. "object_storage_upload": { // 文件存储
  82. "enabled": true, // 是否使用工作空间缓存
  83. "object_storage_id": "63422e0690069fe35f4e62bb", // sidebarMenu.objectStorage
  84. "upload_detail": [ // 上传文件配置
  85. {
  86. "file_path": "test",
  87. "abs_file_path": "",
  88. "dest_path": "temp"
  89. }
  90. ]
  91. },
  92. "file_archive": { // 二进制包存储
  93. "file_location": "temp" // 二进制包存储路径
  94. },
  95. "scripts": "#!/bin/bash\nset -e" // Shell 脚本
  96. }
  97. }

删除构建

请求

  1. DELETE /openapi/build?buildName=<构建名称>&projectKey=<项目标识>

query 参数说明

参数名说明类型必填
buildName构建名称string
projectKey项目标识string

返回说明

  1. {
  2. "message": "success"
  3. }