В настоящее время я разрабатываю приложение Angular2 и хочу настроить непрерывную интеграцию и непрерывное развертывание с помощью менеджера выпуска Azure.постоянно развертывает приложение Angular2 для Azure Web App с помощью управления релизами и angular-cli
Все, что я до сих пор работал: CI и CD для WebApp, home/site/wwwroot содержит исходные файлы (без node_modules).
Не работает: приложение не запускается. Просмотр URL-адреса приводит к заполнителю (например, «Загрузка ...»). На моей локальной машине я бы назвал «npm install», а затем «npm start», который в свою очередь вызывает «tsc & & одновременно« tsc -w »« lite-server ». По моему мнению, это нормально для среды разработчиков, но не должно использоваться в производстве.
вещей я попытался:
- добавление «NPM установки», чтобы построить шаг приводит к очень долго времени сборки Ьса из загрузки пакетов и долгого времени развертывания Ьса из большого числа пакетов
- добавление «npm install -production» сокращает время сборки и развертывания, но запуск «npm start» на целевом компьютере выходит из строя, потому что некоторые отсутствующие пакеты (содержатся в DevDependencies)
- выполнение «npm install» и «npm start» на целевая машина с консолью, похоже, работает, но не может быть автоматизирована
Поэтому вопрос (ы):
- , что такое правильный способ для создания и развертывания приложения Angular2 на лазурном Web App?
- Как обращаться с node_modules?
Благодарим вас заранее.
ОБНОВЛЕНИЕ: Поскольку я переключился на угло-кли, все становится понятнее. На моей машине dev я использую «ng build» и «ng serve» для запуска локально. Для развертывания я использую «ng build -prod» и развертываю содержимое созданного каталога «dist» для производства. Однако, это все еще обходной путь, так как я не могу заставить агента сборки делать эти шаги. Я попытался переместить ссылку angular-cli на «Dependencies», а затем вызвать «npm install» и «ng build -prod» для агента, чтобы получить папку «dist». Конфигурация My Deployment затем скопирует содержимое папки dist в веб-приложение. Затем «нг сборки -prod» шаг терпит неудачу
«нг» не является внутренней или внешней командой
Я вроде понимаю, что я не могу установить и запустить любой пакет на сборке агент, но я бы очень хотел использовать angular-cli для создания приложения, так как он включает в себя веб-пакет. Есть ли возможность получить эту работу, как описано?
Извините, что спросила, но я новичок в Angular, и некоторые понятия все еще меня путают. Означает ли это, что процесс сборки просто копирует файлы в vm, а kudu запускает сценарий postinstall, который, в свою очередь, устанавливает все узловые модули? Если я прав, какой смысл строить тогда? Как измерить качество сборки? И если я переведу все «DevDependencies» в «Dependencies», то в чем смысл использования devDependencies? Разве они не должны использоваться только в разработке? – user3838018
Аналогичный вопрос можно найти здесь [http://stackoverflow.com/questions/40231071/error-app-main-js-404-not-found-on-azure) –
На пути к вашим запутанным концепциям я буду сделайте несколько объяснений. Как только вы нажмете свой код (через git push) с локального git repo на azure remote, kudu синхронизирует 'repository' с' wwwroot', затем запустит 'npm install --production' и, наконец, команду' postinstall' (сценарий npm) который будет запускаться автоматически после установки пакета. –