Каков правильный ключ кэша для сборки webpack на CI (аннулирование кэша)?

#node.js #git #webpack #caching #continuous-integration

Вопрос:

Кэширование в CI важно. Это ускоряет сборку и снижает затраты.

Он очень популярен для ускорения npm install . Люди кэшируют node_modules каталог или кэш npm/yarn во всех сборках. (интернет расскажет вам, как это работает)

Найти правильный ключ кэша для работы node_modules довольно просто: это хэш файла блокировки. Если что-то в файле блокировки изменяется, он генерирует новый хэш, и кэш «аннулируется».

Я пытаюсь сохранить кэш сборки webpack. Это возможно при постоянном кэшировании в webpack 5. Настройка кэша проста, найти «правильную» стратегию для генерации ключа кэша мне сложно.

Блокировка хэша файла, безусловно, не работает. Материал изменится без прикосновения к файлу блокировки.

Я думал о создании новой записи в кэше каждый раз, когда что-то объединяется с основным/основным, используя хэш фиксации в качестве ключа. Затем, когда ветвь функции создается, она может использовать этот хэш фиксации в качестве ключа кэша.

Каков лучший способ кэширования webpack, построенного на CI?