我正在使用分布式缓存(S3(作为gitlab运行器。它工作正常,但它在每次作业执行之前和之后都会下载缓存文件并将其存储在 s3 中。我希望它应该在管道执行中只下载一次缓存文件。否则,缓存会很负担,并且不会改善执行时间。
我正在 gitlab-ci 文件中定义全局缓存
cache:
key: "$CI_COMMIT_REF_NAME"
untracked: true
paths:
- .m2/repository/
您可以为每个作业配置应如何单独处理缓存。
这将阻止 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
...