跳到主要内容

资产缓存配置

源(Sources)

<rw> 参数为可选参数,适用于以下描述的大多数源。该参数控制特定源的访问权限,支持取值:read(只读)、write(只写)、readwrite(读写),默认值为 read

可使用反引号(`)转义源字符串中的特殊字符。

clear

语法clear

移除配置字符串中所有先前的源。该参数与 --x-asset-sources 参数配合使用时十分实用,可用于禁用 X_KMPKG_ASSET_SOURCES 环境变量中配置的所有资产缓存源。

Azure Blob 存储(x-azurl

语法

  1. x-azurl,<url>[,<sas>[,<rw>]]
  2. 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. 尝试从镜像(缓存源)读取资产;
  2. (若步骤1失败)从原始 URL 读取资产;
  3. (若步骤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 等环境变量。

下一步

将自定义脚本用作 NuGet 的资产缓存源