我正在为gitlab运行程序使用分布式缓存(S3)。它工作正常,但在每次作业执行之前和之后都将缓存文件下载并存储在s3中。我希望它在管道执行中只下载一次缓存文件。否则,高速缓存会负担很重,并且不会缩短执行时间。
我正在gitlab-ci文件中定义全局缓存
cache:
key: "$CI_COMMIT_REF_NAME"
untracked: true
paths:
- .m2/repository/
答案 0 :(得分:1)
您可以配置应如何为每个作业分别处理缓存。
这将防止GitLab下载此作业的缓存。
no-cache:
stage: no-cache
cache: {}
...
这将使GitLab仅拉该作业的缓存。
pull-cache:
stage: pull-cache
cache:
policy: pull
...
这将使GitLab仅压入该作业的缓存。
pull-cache:
stage: pull-cache
cache:
policy: push
...