通过代码缓存方式实现构建加速
代码缓存是指通过一致性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分钟(仅供参考,实际效率受执行机规格、负载等影响)。