Gitlab-runner 下载缓存文件并将其存储在管道的每个作业中



我正在使用分布式缓存(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  
    ...

最新更新