Kai*_*dae 9 node-modules gitlab gitlab-ci angular
在 gitlab CI 文件中用于 Angular 项目;我使用 package-lock.json 文件的校验和作为密钥来定义全局缓存。这样缓存仅在 package-lock.json 文件更改时失效。
cache:
key:
files:
- package-lock.json
paths:
- node_modules/
- .npm
Run Code Online (Sandbox Code Playgroud)
问题:即使缓存密钥仍然有效,缓存仍然会上传。(见图片缓存名称没有改变)
我希望缓存仅在失效时才上传,有什么办法可以实现这一点吗?或者有什么其他备注建议?
默认情况下,缓存始终在成功时上传(推拉策略)。
您可以通过配置缓存策略来更改此行为。如果您希望作业仅下载缓存而不上传缓存,请将缓存策略设置为pull。但是,您需要确保至少有一个先前作业使用 apush或push-pull策略填充缓存。
例如:
stages:
- one
- two
create_cache:
stage: one
cache:
key:
files:
- package-lock.json
paths:
- node_modules/
- .npm
policy: "push-pull" # default cache behavior
script:
- echo "this job is responsible for creating/updating the cache as needed"
other_jobs:
stage: two
cache:
key:
files:
- package-lock.json
paths:
- node_modules/
- .npm
policy: "pull" # only download cache, do not upload
script:
- echo "this will rely on cache being created in previous stage"
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有配置说“如果旧缓存失效则推送缓存”
| 归档时间: |
|
| 查看次数: |
838 次 |
| 最近记录: |