Как кэшировать содержимое каталогов в конвейерах Azure и делать недействительными при таких условиях, как изменение файла package.json?

Например, кешировать содержимое node_modules если package.json изменения.

AppVeyor поддерживает это, где как-то знает, что package.json изменилось и сделает его кэшированным недействительным node_modules папка, которую он копирует в рабочую область сборки виртуальной машины.

0 ответов

Теперь этого можно добиться, используя Cacheзадача. Дополнительную информацию можно найти в статье MSDN (в ней также есть много примеров для известных приложений), но в целом это выглядит так:

или в YAML

steps:
- task: Cache@2
  displayName: 'Cache npm'
  inputs:
    key: 'npm | "$(Agent.OS)" | package.json'
    path: '$(npm_config_cache)'

Идея состоит в том, что вы указываете ключ кеша, который может быть строкой или содержимым файла (именно то, что вы просите) и путь к кешу. Отдельная задача восстановления не требуется, она работает в обоих направлениях.

Обратите внимание, что для этого примера вы также должны определить npm_config_cache переменная окружения.

Другие вопросы по тегам