Как кэшировать содержимое каталогов в конвейерах 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
переменная окружения.