跳过缓存生成,键的缓存已经存在
Skipping cache generation, cache already exists for key
使用 CircleCI - version: 2.1
- 用于缓存安装依赖项的持续部署。基于 save_cache
文档:
Generates and stores a cache of a file or directory of files such as dependencies or source code in our object storage. Later jobs can restore this cache.
当前场景:
请参阅下面.circleci/config.yml 文件中的简化 缓存步骤:
steps:
- node/with-cache:
steps:
- checkout
- run: npm install
- save_cache:
key: dependencies
paths: node_modules
一旦向项目添加新包,问题就来了,因此 package.json 文件正在更改。同时 CircleCI 显示 Saving Cache 步骤的消息:
Skipping cache generation, cache already exists for key: dependencies
Found one created at 2020-05-23 19:29:29 +0000 UTC
然后一次恢复缓存明显没有找到构建步骤中新添加的包:
./src/index.tsx
Cannot find module: 'package-name'. Make sure this package is installed.
问题:
有什么方法可以检查管道中的 package.json 变化吗?理想情况下,我只会在这些情况下安装依赖项,以便可以清除和更新缓存。
也许我没有在文档中看到什么。感谢任何帮助,谢谢!
问题是您使用的缓存键是 "dependencies",一个纯字符串。此密钥永远不会更改,因此您将始终使用完全相同的缓存。
你需要使用一个变化的缓存键,最好是基于package.lock
。请阅读 CircleCI 文档中的缓存键部分以获取更多信息:https://circleci.com/docs/2.0/caching/#using-keys-and-templates
使用 CircleCI - version: 2.1
- 用于缓存安装依赖项的持续部署。基于 save_cache
文档:
Generates and stores a cache of a file or directory of files such as dependencies or source code in our object storage. Later jobs can restore this cache.
当前场景:
请参阅下面.circleci/config.yml 文件中的简化 缓存步骤:
steps:
- node/with-cache:
steps:
- checkout
- run: npm install
- save_cache:
key: dependencies
paths: node_modules
一旦向项目添加新包,问题就来了,因此 package.json 文件正在更改。同时 CircleCI 显示 Saving Cache 步骤的消息:
Skipping cache generation, cache already exists for key: dependencies
Found one created at 2020-05-23 19:29:29 +0000 UTC
然后一次恢复缓存明显没有找到构建步骤中新添加的包:
./src/index.tsx
Cannot find module: 'package-name'. Make sure this package is installed.
问题:
有什么方法可以检查管道中的 package.json 变化吗?理想情况下,我只会在这些情况下安装依赖项,以便可以清除和更新缓存。
也许我没有在文档中看到什么。感谢任何帮助,谢谢!
问题是您使用的缓存键是 "dependencies",一个纯字符串。此密钥永远不会更改,因此您将始终使用完全相同的缓存。
你需要使用一个变化的缓存键,最好是基于package.lock
。请阅读 CircleCI 文档中的缓存键部分以获取更多信息:https://circleci.com/docs/2.0/caching/#using-keys-and-templates