You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为GitHub Actions可复用工作流添加缓存步骤?

GitHub Actions可复用工作流添加缓存的两种处理方式

无需修改原工作流:在调用端插入缓存步骤

如果只是特定调用场景需要缓存,完全不用改动原可复用工作流,直接在调用它的工作流文件里,给对应的job添加缓存步骤就行:

  • 在调用可复用工作流的步骤之前,先加缓存恢复逻辑,示例:
steps:
  - name: 恢复依赖缓存
    uses: actions/cache@v3
    with:
      path: |
        node_modules
      key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
      restore-keys: |
        ${{ runner.os }}-npm-
  - name: 执行可复用工作流
    uses: 你的组织/你的仓库/.github/workflows/reusable.yml@main
  • 只要缓存恢复成功,后续可复用工作流里的依赖安装步骤会自动跳过重复下载;缓存会在整个job结束时自动更新,一般不用额外加保存步骤。

需要修改原工作流:统一全局缓存逻辑

如果想让所有调用这个可复用工作流的场景都自动用上缓存,或者缓存路径、触发条件和工作流内部步骤强绑定(比如缓存工作流生成的构建产物),那就直接修改原可复用工作流,把缓存步骤插入到合适位置,示例:

# 原可复用工作流文件 reusable.yml
jobs:
  core-job:
    runs-on: ubuntu-latest
    steps:
      - name: 检出代码
        uses: actions/checkout@v4
      - name: 恢复构建缓存
        uses: actions/cache@v3
        with:
          path: dist
          key: ${{ runner.os }}-build-${{ github.sha }}
      - name: 执行构建命令
        run: npm run build
      # 其他原有步骤...

总结

  • 仅特定场景需缓存:直接在调用端的job里插入缓存步骤,不用动原工作流。
  • 所有调用场景都要缓存:必须更新原可复用工作流,统一植入缓存逻辑。

内容的提问来源于stack exchange,提问作者MadmanLee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:55:31