В настоящее время я разрабатываю приложение Angular2 и хочу настроить непрерывную интеграцию и непрерывное развертывание с помощью диспетчера выпуска Azure.
Вещи, с которыми я работал до сих пор: CI и CD в WebApp, home / site / wwwroot содержит исходные файлы (без node_modules).
Что-то не работает: приложение не запускается. Переход по URL-адресу приводит к заполнителю (например, «Загрузка ...»). На моем локальном компьютере я бы вызвал «npm install», а затем «npm start», который, в свою очередь, вызовет «tsc && одновременно« tsc -w »« lite-server »». Насколько я понимаю, это нормально для среды разработки, но не должно использоваться в производственной среде.
Вещи, которые я пробовал:
- добавление 'npm install' на этапе сборки приводит к чрезвычайно долгому времени сборки bc при загрузке пакетов и долгому времени развертывания bc при большом количестве пакетов
- добавление 'npm install --production' сокращает время сборки и развертывания, но запуск 'npm start' на целевой машине завершается ошибкой из-за отсутствия некоторых пакетов (содержащихся в DevDependencies)
- выполнение 'npm install' и 'npm start' на целевой машине с помощью консоли кажется работает, но не может быть автоматизировано
Итак, вопрос (ы):
- как правильно создать и развернуть приложение Angular2 в веб-приложении Azure?
- Как обрабатывать node_modules?
Заранее спасибо.
ОБНОВЛЕНИЕ. Когда я перешел на angular-cli, все стало яснее. На моей машине разработчика я использую "ng build" и "ng serve" для локального запуска. Для развертывания я использую «ng build -prod» и развертываю содержимое созданного каталога «dist» в продакшене. Тем не менее, это все еще обходной путь, поскольку я не могу заставить агент сборки выполнить эти шаги. Я попытался переместить ссылку angular-cli в «Зависимости», а затем вызвать на агенте «npm install» и «ng build -prod», чтобы получить папку «dist». Моя конфигурация развертывания затем скопирует содержимое папки dist в веб-приложение. Тогда шаг "ng build -prod" завершится ошибкой.
'ng' не распознается как внутренняя или внешняя команда
Я как бы понимаю, что не могу установить и запустить какой-либо пакет в агенте сборки, но мне бы очень хотелось использовать angular-cli для создания приложения, поскольку он включает веб-пакет. Есть ли возможность заставить это работать, как описано?