Sobes.tech
Назад к вопросам
Middle
11

Политики кэширования в GitLab CI: pull, push, pull-push

Компании, где спрашивали
МТСМТС

Ответ от нейросети

sobes.tech AI

В GitLab CI политики кэширования определяют, как и когда кэш сохраняется и извлекается между задачами (jobs) и пайплайнами:

  • pull — задача пытается загрузить (извлечь) кэш перед выполнением, но не сохраняет его после. Используется, если нужно использовать кэш, но не обновлять его.

  • push — задача не пытается загрузить кэш, но сохраняет (заливает) его после выполнения. Полезно, если задача генерирует кэш, который будет использоваться в следующих задачах.

  • pull-push — задача сначала пытается загрузить кэш, а после выполнения сохраняет обновлённый кэш. Это наиболее распространённая политика, когда кэш нужен и для чтения, и для обновления.

Пример в .gitlab-ci.yml:

cache:
  key: ${CI_COMMIT_REF_SLUG}
  paths:
    - node_modules/
  policy: pull-push

Здесь кэш с ключом ветки загружается перед задачей и сохраняется после неё.

Выбор политики зависит от сценария использования и необходимости обновлять кэш или только использовать существующий.