文档首页/ 编译构建 CodeArts Build/ 用户指南/ 加速构建任务/ 通过代码缓存方式实现构建加速
更新时间:2024-07-25 GMT+08:00
分享

通过代码缓存方式实现构建加速

代码缓存是指通过一致性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一起确定缓存标签
表1 配置参数表

参数项

参数类型

描述

是否必填

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一起确定缓存标签。

工作模式介绍

  1. 代码缓存下载。本地没有缓存的情况下,从服务器下载缓存代码到本地;有缓存的情况下,使用本地缓存并还原目录结构。
  2. 代码缓存更新。代码检出有变化时,会增量扫描目录树,缓存差异文件和目录树,加速下次构建缓存效率。

效果示例

在缓存盘有缓存的情况下,200万个文件(190G)还原时间在2到3分钟(仅供参考,实际效率受执行机规格、负载等影响)。

相关文档