跳到主要内容

kmpkg 资产缓存

本节介绍的是实验性功能,可能随时发生变更或被移除。

kmpkg 的核心操作之一是从互联网下载各类文件,例如源代码归档包、工具可执行文件和源代码补丁。这些文件被称为资产,通过网络上的简单文件传输方式获取。在开始下载前,每个资产都有已知的 SHA512 哈希值,用于校验文件完整性。

资产缓存功能允许你配置镜像位置(称为“缓存服务器”)来获取这些资产。启用该功能后,kmpkg 会优先尝试从已配置的缓存服务器获取资产;若资产在缓存中不存在,则回退到原始下载源。此外,kmpkg 还可将下载的资产保存到缓存服务器,供后续使用。

资产缓存的核心目标是最大限度减少对外部网络的依赖,带来以下优势:

  • 缩短下载时间、降低带宽占用:从本地或就近的缓存服务器获取资产,可加快构建速度,减少网络带宽消耗。
  • 支持隔离网络/离线环境:可将资产镜像到可信位置,使无互联网访问的环境也能完成构建。
  • 提升可靠性和连续性:即便第三方主机修改或移除关键资产,仍能确保访问,降低构建中断风险。

配置方式

资产缓存可通过以下方式配置:

  • 环境变量 X_KMPKG_ASSET_SOURCES,或
  • 命令行选项 --x-asset-sources

两种方式的取值均为分号分隔的源列表,每个源需根据其存储后端遵循特定语法。如需了解资产缓存源的配置方法,请参阅资产缓存参考文档

Azure Blob 存储配置示例

kmpkg install zlib --x-asset-sources="clear;x-azurl,mystorageaccount.blob.core.windows.net,${SAS_TOKEN},readwrite;x-azurl,file:///Z:/kmpkg-cache/assets,,readwrite"

后续操作

你可尝试完成以下任务: