gitlab-runner загружает и сохраняет файл кэша в каждом задании конвейера - PullRequest
1 голос
/ 03 июня 2019

Я использую распределенное кэширование (S3) для gitlab runner. Работает нормально, но загружает и сохраняет файл кэша в s3 до и после каждого выполнения задания. Я хочу, чтобы он загружал файл кэша только один раз в конвейерном исполнении. в противном случае кеш является бременем и не улучшает время выполнения.

Я определяю глобальное кэширование в файле gitlab-ci

cache:
  key: "$CI_COMMIT_REF_NAME"
  untracked: true
  paths:
    - .m2/repository/

1 Ответ

1 голос
/ 11 июня 2019

Вы можете настроить способ обработки кэша индивидуально для каждого задания.

Это предотвратит загрузку 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  
    ...
...