Служба приложений Azure: извлечение ZIP-файла node_modules размером 60 МБ занимает больше времени, чем запуск установки Javascript

Форум по Javascript
Ответить
Anonymous
 Служба приложений Azure: извлечение ZIP-файла node_modules размером 60 МБ занимает больше времени, чем запуск установки

Сообщение Anonymous »

У меня есть инструмент автоматического развертывания, который создает проект React или Angular, загружает его в Службу приложений Azure, а затем восстанавливает node_modules, чтобы сократить время сборки.
Чтобы избежать запуска npm install при каждом развертывании, я храню предварительно созданный файл node_modules.zip (~60 МБ) в хранилище BLOB-объектов Azure.

Мой рабочий процесс это:
  • Загрузить node_modules.zip
  • Извлечь его из Kudu (консоли службы приложений) в /tmp/...
  • Скопировать извлеченную папку в /home/site/wwwroot/
    /node_modules
Проблема:

Извлечение и копирование этого ZIP-архива занимает больше времени, чем запуск npm install, хотя вся идея заключалась в ускорении развертывания.
Что я пробовал
  • Использование node_modules.zip
  • Извлечение в /tmp, а затем копирование в каталог проекта
  • Пробиваем разные пакеты распаковки (

    Код: Выделить всё

    unzipper
    , adm-zip и т. д.)
  • Использование консоли Kudu и Azure CLI
Обнаруженные проблемы
  • Файловая система службы приложений Azure работает медленно и содержит тысячи маленьких файлов
  • Zip извлечение node_modules происходит очень медленно
  • Копирование папки удваивает задержку
  • Конечный результат: установка npm фактически завершается быстрее
    Мой вопрос
    Как я могу ускорить процесс восстановления node_modules в Службе приложений Azure?
    Я хочу избежать запуска npm install каждый раз, но извлечение ZIP-архива node_modules происходит еще медленнее. Как лучше всего быстро восстановить зависимости от Службы приложений Azure?
    Дополнительные примечания

    Служба приложений основана на Linux
  • Инструмент развертывания использует Node.js
  • Сборки React и Angular работают, эта проблема возникает только с node_modules восстановить
  • Я открыт для альтернатив, таких как tar.gz, npm кэш, npm ci и т. д.
Что я ищу
  • Лучший формат для хранения node_modules (tar.gz?)
  • Более быстрый метод извлечения
  • Извлечь непосредственно в место назначения без копирования?
  • Альтернативные подходы (npm кэш или npm ci)
  • Какие-либо рекомендации по восстановлению зависимостей в службах приложений Azure


Подробнее здесь: https://stackoverflow.com/questions/798 ... an-running
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»