#node.js #git #webpack #caching #continuous-integration
Вопрос:
Кэширование в CI важно. Это ускоряет сборку и снижает затраты.
Он очень популярен для ускорения npm install
. Люди кэшируют node_modules
каталог или кэш npm/yarn во всех сборках. (интернет расскажет вам, как это работает)
Найти правильный ключ кэша для работы node_modules
довольно просто: это хэш файла блокировки. Если что-то в файле блокировки изменяется, он генерирует новый хэш, и кэш «аннулируется».
Я пытаюсь сохранить кэш сборки webpack. Это возможно при постоянном кэшировании в webpack 5. Настройка кэша проста, найти «правильную» стратегию для генерации ключа кэша мне сложно.
Блокировка хэша файла, безусловно, не работает. Материал изменится без прикосновения к файлу блокировки.
Я думал о создании новой записи в кэше каждый раз, когда что-то объединяется с основным/основным, используя хэш фиксации в качестве ключа. Затем, когда ветвь функции создается, она может использовать этот хэш фиксации в качестве ключа кэша.
Каков лучший способ кэширования webpack, построенного на CI?