- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 编译构建服务(CodeArts Build)使用流程
- 购买并授权使用CodeArts Build
- 配置CodeArts Build项目级角色权限
- 新建构建任务
-
配置构建任务
- 构建任务基础配置
- 选择构建步骤
-
配置构建步骤
- 使用Maven构建
- 使用Android构建
- 使用Npm构建
- 使用Gradle构建
- 使用Yarn构建
- 使用gulp构建
- 使用Grunt构建
- 使用mono构建
- 使用PHP构建
- 使用SetupTool构建
- 使用PyInstaller构建
- 使用shell命令构建
- 使用Gnu-arm构建
- 使用Msbuild构建
- 使用CMake构建
- 使用Ant构建
- 使用Kotlin构建
- 使用Go语言构建
- 使用Ionic Android App构建
- 构建Android快应用
- 使用GFortran构建
- 使用Sbt构建
- 使用Grails构建
- 使用Bazel构建
- 使用Flutter构建
- 使用HarmonyOS构建
- 使用构建方舟编译器构建
- 通过Docker命令操作镜像
- 生成单元测试报告
- 自定义构建环境
- 使用自定义环境构建
- 下载软件发布库中的软件包
- 上传软件包到软件发布库
- 上传文件到OBS
- 配置构建任务参数
- 配置构建任务执行计划
- 配置构建任务角色权限
- 配置构建任务事件通知
- 执行构建任务
- 查看构建任务
- 加速构建任务
- 管理构建任务
- 查询审计日志
- 参考
- 旧版手册页面
-
最佳实践
- CodeArts Build最佳实践汇总
- 基于Maven构建产物制作Docker镜像并发布到镜像仓(内置执行机/图形化构建)
- 使用Maven构建上传软件包至私有依赖库(内置执行机/图形化构建)
- 使用Maven构建实现私有依赖包的上传及下载引用(内置执行机/图形化构建)
- 使用NPM构建上传软件包至软件发布库(内置执行机/图形化构建)
- 使用自定义执行机执行Maven构建(自定义执行机/图形化构建)
- 使用Maven构建上传软件包和推送镜像到SWR(内置执行机/代码化构建)
- 使用Maven构建执行多任务构建工程(内置执行机/代码化构建)
- 基于私有依赖库使用Maven构建并上传软件包(内置执行机/图形化构建)
- 使用自定义构建环境执行构建任务(内置执行机/图形化构建)
- 对C/C++构建工程进行构建加速(内置执行机/图形化构建)
- 使用Windows自定义执行机执行Maven构建(自定义执行机/图形化构建)
- HE2E DevOps实践:构建应用部分
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
任务相关API接口
- 根据开始时间和结束时间查看构建任务的构建历史列表
- 查看构建任务的构建历史列表
- KeyStore文件下载
- 查看任务运行状态
- 查看项目下用户的构建任务列表
- 执行构建任务
- 查询指定代码仓库最近一次成功的构建历史
- 获取构建历史详情信息接口
- 根据开始时间和结束时间查看构建任务的构建成功率
- 下载全量构建日志
- 下载构建步骤日志
- 获取构建记录信息
- 获取构建产物详情信息
- 停止构建任务v3
- 停止构建任务v1
- 删除构建任务
- 禁用构建任务
- 恢复构建任务
- 创建构建任务
- 更新构建任务
- 查询构建模板
- 创建构建模板
- 删除构建模板
- 查询通知
- 更新通知
- 取消通知
- 获取构建任务详情
- 下载构建实时日志
- 获取任务构建记录列表
- 获取任务构建记录列表v1
- 查内置执行机规格
- 获取构建任务的角色权限矩阵信息
- 是否已开启内网安全访问
- 获取用户权限
- 获取任务权限矩阵
- 当前用户所在项目所属租户的包周期每月时长是否超额
- 查看用户全部的构建任务列表
- 获取构建记录的构建脚本
- 查看项目下任务名是否存在
- 获取单元测试覆盖率报告列表
- 查询当前租户(计费)类型
- 查询账号是否联邦账号
- 禁用任务
- 查询构建成功率
- 获取单元测试覆盖率报告压缩包
- 查看构建任务构建信息
- 获取通知信息
- 查询租户状态
- 查看任务是否在构建
- 获取覆盖率接口
- 获取任务各阶段信息
- 获取指定工程的简要构建信息
- 构建历史页获取构建次数
- 保存模板使用记录
- 洞察构建时长
- 配置文件权限
- 添加文件权限
- 文件管理文件下载
- 删除文件管理文件
- 删除任务
- 编辑页获取参数类型的接口
- 获取当前用户的项目信息列表
- 查询租户下文件列表
- 获取编译构建默认参数
- 查询用户可使用文件
- 获取项目列表
- 获取指定工程的构建记录列表
- 查询指定构建记录详情
- 查询任务是否已禁用
- 查询官方模板
- 获取构建任务配置的对比差异
- 设置回收站中的任务保留时间
- 查看回收站中删除的构建任务列表
- 删除回收站中的任务
- 清空回收站中的任务
- 恢复回收站中的任务
- 更新文件信息
- 上传文件
- 检查webhook地址参数
- 获取dockerfileTemplate
- 获取镜像模板列表
- 获取当前项目默认角色权限矩阵信息
- 获取修改历史
- 复制任务名
- 获取该任务所有分支信息
- 查看系统预定义参数
- 查看仓库
- 获取租户任务总数和成功率接口
- 获取套餐资源id,影响临期,超期提示
- 获取套餐临期信息
- 检查任务数量是否上限
- 获取代码化构建默认模板
- 获取官方推荐模板
- 执行构建
- 创建构建任务
- 更新构建任务
- 复制构建任务
- 查询项目任务列表
- 根据条件查询特定模板
- 创建构建模板
- 删除构建模板
- 获取构建记录信息
- 获取构建任务详情
- 查询任务状态
- 流水线查看构建任务信息
- 文件管理删除权限
- 文件管理查询权限
- 获取任务构建记录列表
- 详情页获取构建参数
- 获取构建记录的有向无环图
- 应用示例
- 附录
- 历史API接口(待下线)
- 修订记录
- 场景代码示例
-
常见问题
- 通用构建问题
-
Maven构建
- 执行Maven构建时,提示未开通私有依赖仓
- 执行Maven构建时,提示license信息检查不通过
- 使用maven deploy命令上传包失败
- 执行Maven构建时,提示找不到pom文件
- 执行Maven构建时,提示找不到package/symbol
- 使用exec-maven-plugin插件实现Maven和npm混合编译
- 执行Maven构建时,多个子项目和父项目之间引用报错
- 如何配置及清理Maven构建缓存
- 如何查找Maven构建中正确的构建包路径
- 如何使用jib-maven-plugin插件构建Maven工程制作镜像
- 使用Maven构建时,代码更新后构建出来的包还是旧的
- 使用Maven构建时,Maven组件下载缓慢
- Android构建
- Gradle构建
- Msbuild构建
-
Npm构建
- 执行Npm构建时,报错提示JavaScript heap out of memory
- 执行Npm构建时,报错提示Unexpected end of JSON ...
- 执行Npm构建时,报错提示enoent ENOENT: no such file or directory
- 执行Npm构建时,报错提示Module not found: Error: Can't resolve ...
- 执行Npm构建失败,但不显示错误日志
- 执行Npm构建时,报错提示npm cb() never called
- 执行Npm构建时,报错提示gyp ERR! stack Error: EACCES: permission denied
- 执行Npm构建时,报错提示eslint: error 'CLODOP' is not defined
- 执行Npm构建时,报错提示node-sass下载失败
- 执行Npm构建时,报错提示error: could not write config file
- Npm构建耗时且安装依赖缓慢
- 执行Npm构建时,报错提示找不到依赖版本
- 镜像问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
配置代码下载
配置构建时从代码仓拉取代码的下载方式。
图形化构建
可选择使用指定代码仓库Tag或CommitID构建,同时可选择开启子模块(submodules)自动更新与Git LFS。
预置“代码下载配置”步骤,参考表1配置参数。
参数 |
说明 |
---|---|
使用指定代码仓库Tag或CommitID构建 |
配置执行构建任务时是否指定Tag构建或CommitID构建。 |
克隆深度 |
可选参数。 克隆深度是指距离最近一次提交的提交次数,该值越大,检出代码的深度越深。深度为正整数,推荐最大深度为25。 例如:克隆深度5就表示只克隆最新5次提交记录以及提交之后的最新内容,不克隆历史提交。 |
子模块(submodules)自动更新 |
子模块(submodule)是Git为管理仓库共用而衍生出的一个工具,通过子模块用户可以将公共仓库作为子目录包含到用户的仓库中,并能够双向同步该公共仓库的代码,借助子模块用户能将公共仓库隔离、复用,能随时拉取最新代码以及对它提交修复,能大大提高团队效率。更多详情请参考配置代码仓库的子模块设置。
|
开启Git LFS |
根据需要选择是否开启“Git LFS”,构建默认不拉取音视频、图像等大型文件,开启“Git LFS”后,构建将会全量拉取文件。 |
代码化构建(单仓下载)
参考以下代码示例,修改在创建代码化构建使用的YAML文件中的PRE_BUILD部分代码信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
version: 2.0 # 必须是2.0 steps: PRE_BUILD: - checkout: name: checkout inputs: scm: codehub # 代码来源:仅支持Repo url: xxxxxxxxx # 拉取代码的ssh地址。 branch: ${codeBranch} # 任何时候都必填,支持参数化 commit: ${commitId} lfs: true submodule: true depth: 100 tag: ${tag} path: test |
参数 |
类型 |
说明 |
---|---|---|
scm |
string |
填写代码源:当前只支持Repo,如果yaml文件中没配置,则使用构建任务配置的代码仓信息。 默认值:codehub。 |
url |
string |
填写拉取代码的代码仓ssh地址。 |
branch |
string |
拉取的代码分支。 支持参数化,可使用${codeBranch}调用。 |
commit |
string |
可选参数。指定commitId构建时,填写拉取的commitId。 支持参数化,可使用${commitId}调用。 |
tag |
string |
可选参数。指定tag构建时,填写拉取的tag。 支持参数化,可使用${tag}调用。如果同时指定commitId和tag,优先执行commitId构建。 |
depth |
int |
可选参数。浅克隆深度:当选择commitId构建时,depth必须大于等于commitId所在深度。 默认值:1。 |
submodule |
bool |
可选参数。配置是否拉取子模块。
默认值:false。 |
lfs |
bool |
可选参数。配置是否开启git lfs。
构建默认不拉取音视频、图像等大型文件,开启git lfs后,构建将会全量拉取文件。默认值:false。 |
path |
string |
可选参数。clone的子路径:代码将会下载到子目录下。 |
代码化构建(manifest多仓下载)
在安卓、鸿蒙等场景下,一次构建需要同时集成数百甚至上千个代码仓,多个代码仓的集成下载效率至关重要。
编译构建集成Repo下载工具,用户只需进行简单配置即可实现多个代码仓的联动集成。当前支持仅Repo代码仓。
参考以下代码示例,修改在创建代码化构建使用的YAML文件中的PRE_BUILD部分代码信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
version: 2.0 # 必须是2.0 steps: PRE_BUILD: - manifest_checkout: name: "manifest" inputs: manifest_url: "https://example.example.example.example.example.com/xx/manifest.git" manifest_branch: "master" manifest_file: "default.xml" path: "dir/dir02" repo_url: "https://example.example.example.example.example.com/xx/git-repo.git" repo_branch: "master" username: "someone" password: "${PASSWD}" |
参数 |
类型 |
说明 |
---|---|---|
name |
string |
可选参数。填写步骤名称。默认值为manifest_checkout。 |
manifest_url |
string |
填写manifest仓地址,包含xml文件的仓库。 |
manifest_branch |
string |
可选参数。填写manifest分支或revision。默认值为“HEAD”。 |
manifest_file |
string |
可选参数。manifest文件路径。默认值为“default.xml”。 |
path |
string |
可选参数。自定义manifest所有子仓下载路径,为工作目录的相对路径 路径不能以“/”开头,不能包含“.”。默认为工作目录。 |
repo_url |
string |
可选参数。填写repo仓库地址。默认值为“https://gerrit.googlesource.com/git-repo”。 |
repo_branch |
string |
可选参数。填写repo仓库分支。默认值为“stable”。 |
username |
string |
可选参数。填写下载仓库时使用的用户名,当下载非公开仓库时需填写。 |
password |
string |
可选参数。填写下载仓库时使用的https密码,下载非公开仓库时需填写。 |
- manifest_file中定义的多个仓库,必须为同一种代码源。
- manifest_url与manifest_file必须为同一种代码源;如果为非公开仓库,username&password应该有下载权限。
- repo_url对应的repo仓库,需要有下载权限(仓库开源,或者仓库私有但配置了账号密码)。
- 以上非必填的参数,如果配置的值为空,则使用默认值。
- 建议在使用非公开仓库时,用户名密码通过构建的私密参数进行配置,详情参考配置构建任务参数。
- 该功能目前仅支持北京四区域使用,其余区域后续上线。