# 缓存插件 这是一个Gitea Actions缓存插件,用于在CI/CD流程中缓存指定目录,以提高构建效率,减少重复下载和计算时间。 ## 功能特点 - 支持多目录缓存 - 基于文件哈希自动更新缓存 - 支持不同操作系统环境 - 提供缓存命中状态输出 ## 输入参数 | 参数名 | 必需 | 描述 | 默认值 | |-------|------|------|-------| | key | 是 | 缓存压缩标识 | `${{ gitea.repository }}` | | mount | 是 | 挂载缓存目录(支持多行输入) | - | | hash_files | 否 | 缓存命中文件(支持多行输入,用于生成哈希) | - | ## 输出参数 | 参数名 | 描述 | |-------|------| | cache_init | 是否缓存命中("true"或"false") | ## 使用示例 ```yaml - name: 缓存依赖 uses: actions/cache@master with: key: node-modules mount: | node_modules hash_files: | package.json yarn.lock ``` ## 工作原理 1. **恢复缓存(restore)**:在作业开始时,根据提供的key和hash_files生成缓存键,尝试恢复缓存 2. **保存缓存(save)**:在作业成功完成后,如果缓存未命中或内容发生变化,则保存新的缓存 缓存键生成规则:`${操作系统}-${key}-${文件哈希值}` ## 安装和构建 ```bash # 安装依赖 yarn install # 构建插件 yarn build ``` 构建后的文件将输出到`dist/restore/`和`dist/save/`目录中。