我正在尝试通过GitHub Actions使用actions/cache
任务在我们的GatsbyJS构建之间持久保存缓存的数据。
name: Gatsby Contentful Build
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build_job:
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1.1.0
- uses: bahmutov/npm-install@v1.1.0
- name: Cache
uses: actions/cache@v1.1.2
with:
path: .cache
key: cache-folder-key
- name: Cache public folder
uses: actions/cache@v1.1.2
with:
path: public
key: public-folder-key
- run: cd plugins/gatsby-source-contentful && yarn build
- run: yarn build
在初始构建中找不到缓存,然后gatsby从头开始创建.cache和public,将这两个文件夹构建并保存到操作缓存中。
在第二个构建中,找到新的缓存,并且gatsby成功构建,但是缓存未更新。
似乎我在努力了解如何使用key
名称破坏缓存。
这是我理解它应该起作用的方式,如果我错了,请纠正我。
答案 0 :(得分:0)
如果命中缓存,缓存将不会自动更新。您的主缓存键必须包含对于新版本而言唯一的文件哈希。如果您的Gatsby版本需要调用某个远程API来获取数据,则您不能使用官方的缓存操作。
您可以尝试使用此总是可保存高速缓存的fork:https://github.com/marketplace/actions/always-cache
但是使用它需要您自担风险。