Sobes.tech
Назад к вопросам
Junior — Middle
102

Как различаются кэш и артефакты в процессе CI/CD в GitLab?

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

sobes.tech AI

В GitLab CI/CD кэш и артефакты служат для разных целей:

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

  • Артефакты (artifacts) — это результаты сборки, которые нужно сохранить после выполнения job и, возможно, передать в последующие стадии или скачать. Например, скомпилированные бинарники, отчёты тестов, логи. Артефакты хранятся в GitLab и доступны для загрузки или использования в других job в рамках одного pipeline.

Пример:

build_job:
  script:
    - ./gradlew build
  cache:
    paths:
      - .gradle/
  artifacts:
    paths:
      - build/libs/
    expire_in: 1 week

Здесь .gradle/ кэшируется для ускорения сборки, а build/libs/ сохраняется как артефакт для последующего использования.