背景: 管道缓存允许存储一个文件夹并在下一次构建时重新使用它,因为某些键、分支和其他东西不匹配。对 node_modules、nuget 包和 Git LFS 很有用,但也适用于构建
我在管道缓存文档中找不到任何内容。
即使构建失败,我也想保存缓存,用于增量构建或 Git LFS 检出,例如以下场景:
- 新功能分支签入
- 一个大的重构,因此有很多变化
- 一些测试失败,因此不存储缓存
- 修复它们是微不足道的,并且需要重新编译,但是整个构建需要重新运行整个管道失败。
示例列表如下:
- task: Cache@2
inputs:
key: 'yarn | "$(Agent.OS)" | yarn.lock'
restoreKeys: |
yarn | "$(Agent.OS)"
yarn
path: $(YARN_CACHE_FOLDER)
displayName: Cache Yarn packages
但只有在整个管道成功时才会缓存。