通过代码缓存方式实现构建加速
代码缓存是指通过一致性HASH、分布式文件存储、增量更新等技术,通过构建时代码下载效率的提升,从而实现构建加速。
约束与限制
- 仅代码化构建可使用代码缓存构建加速。
- 构建缓存只提供文件缓存的上传和下载检出功能,支持用户自定义脚本更新。
- 该功能目前仅支持“华北-北京四”区域、代码源为CodeArts Repo的C/C++语言构建工程的编译构建加速。
- 使用代码缓存加速需购买配套加速特性包,购买方法请参考购买构建加速包。
YAML文件配置方法
参考创建代码化构建使用的YAML文件,在env中配置如下示例代码。
1 2 3 4 5 6 7 8 9 10 11 12 | params: # 构建参数,可在构建过程中引用 - name: CLOUD_BUILD_UPLOAD_FLAG # 参数为有值和为空两种状态,可控制跳过缓存上传至文件服务器 value: true - name: CLOUD_BUILD_REMOTE_CACHE # 参数为有值和为空两种状态,可控制会从其他执行机获取缓存 value: true env: cache: # 使用代码缓存 - type:code #必填,使用缓存开关 local_path:code # 必填,代码在构建执行机上存放的相对路径 command:dos2unix build.sh && sh build.sh # 必填 branch:master # 选填,分支名,可自定义,与url一起确定缓存标签 url:git@codehub.devcloud.example.example.com:test/python3.git # 选填,可自定义,与branch一起确定缓存标签 |
参数项 | 参数类型 | 描述 | 是否必填 |
|---|---|---|---|
CLOUD_BUILD_UPLOAD_FLAG | String | 用于控制是否跳过缓存上传文件服务器。 True:是。 为空:否。 | 否 |
CLOUD_BUILD_REMOTE_CACHE | String | 用于控制是否从其他执行机获取缓存。 True:是。 为空:否。 | 否 |
type | String | 使用缓存开关。 | 是 |
local_path | String | 代码在构建执行机上存放的相对路径。 | 是 |
command | String | 运行下载/更新代码的脚本命令。 | 是 |
branch | String | 分支名,可自定义,与url一起确定缓存标签。 | 是 |
url | String | 链接,可自定义,与branch一起确定缓存标签。 | 是 |
工作模式介绍
效果示例
在缓存盘有缓存的情况下,200万个文件(190G)还原时间在2到3分钟(仅供参考,实际效率受执行机规格、负载等影响)。

