Политики кэширования в 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
Здесь кэш с ключом ветки загружается перед задачей и сохраняется после неё.
Выбор политики зависит от сценария использования и необходимости обновлять кэш или только использовать существующий.