@actions/cache
缓存依赖和建立产出以改善工作流程执行时间所必需的功能.
见 "抓好依托,加快工作流程" 对于如何切入工作.
注意 GitHub 将删除超过7天没有访问过的缓存项 。 对可以存储的缓存数量没有限制,但寄存器中所有缓存的总大小仅限于10GB. 如果您超过此限制, GitHub 将会保存您的缓存, 但会开始驱逐缓存, 直到总大小小于 10 GB .
重要变化
缓存后端服务已经从地上重写,以提高性能和可靠性. 这个 @ actions/ cache (英语) 现在软件包与新的缓存服务(v2)API集成.
新服务将逐步推出 2025年2月1日 (中文(简体) )遗产服务也将同日落出。 此发行的更改为 完全向后兼容。 。 。 .
此软件包的上个版本都将贬值我们建议升级到版本 4.0.0 尽快提前 2025年2月1日 (中文(简体) ).
如果您不升级, 所有工作流程都会使用已贬值的工作流程 @ actions/ cache (英语) 软件包将失败 .
升级到推荐的版本,除了更新您的工作流程外,不应中断或要求修改您的工作流程 package.json 改为版本 4.0.0。 。 。 .
更多信息, 请查看更改和访问迁移指南 : 通知内容。 。 。 .
使用量
这个软件包被我们第一个政党缓存动作的v2+版本所使用. 您可以在缓存 Repo 中找到实例执行 这里。 。 。 .
保存缓存
保存包含文件的缓存 paths 使用 key 提供。 如果安装了zstd,文件将使用z标准压缩算法进行压缩,否则使用gzip. 如果缓存被自动保存, 函数返回缓存 ID, 如果缓存上传失败, 则丢出错误 .
const cache = require('@actions/cache');
const paths = [
'node_modules',
'packages/*/node_modules/'
]
const key = 'npm-foobar-d5ea0750'
const cacheId = await cache.saveCache(paths, key)
恢复缓存
基于 key 财务报告和审定财务报表 restoreKeys 页:1 paths 提供。 函数返回缓存键用于缓存被击中, 如果未找到缓存则返回未定义 .
const cache = require('@actions/cache');
const paths = [
'node_modules',
'packages/*/node_modules/'
]
const key = 'npm-foobar-d5ea0750'
const restoreKeys = [
'npm-foobar-',
'npm-'
]
const cacheKey = await cache.restoreCache(paths, key, restoreKeys)
缓存段恢复超时
缓存在固定大小的多段内下载( 现在) 128MB 失败快速, 以前 1GB (单位:千美元) 32-bit 运行和 2GB (单位:千美元) 64-bit 使用跑道)。 有时,一个段的下载会被卡住,导致工作流程永远被卡住并失败. 版本 v3.0.4 缓存包中引入了段下载超时。 片段下载超时将允许片段下载被中止,从而允许该任务进行缓存出错.
此超时的默认值为 10 分( 开始) v3.2.1 前60分钟的版本 v.3.0.4 财务报告和审定财务报表 v3.2.0,并且可以通过指定 环境变量 名称 SEGMENT_DOWNLOAD_TIMEOUT_MINS 分钟内有超时值.