资产缓存配置
源(Sources)
<rw> 参数为可选参数,适用于以下描述的大多数源。该参数控制特定源的访问权限,支持取值:read(只读)、write(只写)、readwrite(读写),默认值为 read。
可使用反引号(`)转义源字符串中的特殊字符。
clear
语法:clear
移除配置字符串中所有先前的源。该参数与 --x-asset-sources 参数配合使用时十分实用,可用于禁用 X_KMPKG_ASSET_SOURCES 环境变量中配置的所有资产缓存源。
Azure Blob 存储(x-azurl)
语法:
x-azurl,<url>[,<sas>[,<rw>]]x-azurl,file://<network-location>[,,<rw>]
<url>:必填。Azure Blob 存储的连接 URL,必须包含容器路径且以 / 结尾。
<sas>:可选。对于使用共享访问签名(SAS)验证的端点,可通过该参数传入生成的 SAS 令牌。
非 Azure 端点可通过该参数传入访问令牌,只要端点能响应 <url>/<sha512>?<sas> 格式的 GET 和 PUT 请求即可。
示例:配置源为 azurl,https://mydomain.com/kmpkg/,token=abc123,readwrite 时,生成的请求格式为:https://mydomain.com/kmpkg/<sha512>?token=abc123。
此外,也可通过 x-azurl,file://<filesystem-location>[,,<rw>] 格式将文件系统路径设为端点。
示例:x-azurl,file://Z:/kmpkg/assetcache/,,readwrite 会将 Z:/kmpkg/assetcache/ 网络文件夹配置为缓存目录。
该资产源的工作流程:
- 尝试从镜像(缓存源)读取资产;
- (若步骤1失败)从原始 URL 读取资产;
- (若步骤2成功)将资产写回镜像。
可通过 <rw> 标识符启用/禁用步骤1和步骤3,也可通过下文的 x-block-origin 禁用步骤2。
关于如何配置 x-azurl 源的更多信息,请参考 Azure Blob 存储二进制缓存文档。
x-block-origin
语法:x-block-origin
当资产未在任何配置的源中找到时,禁用回退到原始下载 URL 的行为。
x-script
语法:x-script,<template>
调用外部工具获取资产。
<template>:必填。kmpkg 执行以获取资产的命令模板。示例:x-script,curl -L {url} --output {dst} 会配置 kmpkg 执行 curl 命令,并传入 {url} 和 {dst} 参数。
资产恢复、上传,以及连接缓存存储端点的逻辑,均由模板中指定的命令负责实现。
kmpkg 执行命令时会替换以下占位符参数:
{url}:资产的原始下载 URL;{sha512}:下载资产的预期 SHA512 哈希值;{dst}:下载资产的目标存储路径。
模板命令会在 kmpkg 的构建环境中运行,这意味着三元组可能会修改 PATH 等环境变量。