Запуск Angular в Azure в веб-приложении для Linux

Я пытался заставить свое приложение Angular работать в веб-приложении Azure Linux. Единственный способ, которым я смог это сделать, - это использовать Docker, и, хотя это замечательно, Azure, похоже, использует Docker, поэтому я запускаю контейнер Docker внутри контейнера Docker. Я бы предпочел запустить приложение изначально. Тем не менее, я не смог запустить приложение, так как я получаю сообщение "ng is notknown command", когда пытаюсь обслуживать приложение. Я не вижу способа установить Angular CLI. Существует удивительное отсутствие документации по этому вопросу. Кто-нибудь смог это осуществить?

2 ответа

Я смог запустить Angular 9 в веб-приложении Linux, выбрав PHP 7.3 в качестве стека времени выполнения. Я просто собираю (в DevOps) и развертываю результат моей сборки ng build --prod (без очищенных папок, только файлы), и он работал, поскольку PHP может обслуживать мой index.html.

Вам не нужно вводить какую-либо команду запуска.

Я следил за этим видео, чтобы сделать сборку, и этот, чтобы сделать релиз.

В итоге я отказался от этого подхода. Короткий ответ: мне нужно что-то вроде Express, чтобы обслуживать приложение Angular. Однако хранилище BLOB-объектов Azure можно настроить для обслуживания статических веб-сайтов (например, Angular), и это очень дешево. Мне нужно настроить Azure CDN, чтобы заставить работать собственный домен и SSL, но это намного проще и потенциально намного дешевле, чем маршрут, которым я шел.

Это не путь.

Вам следует использовать Angular CLI для компиляции проекта и создания артефактов выпуска (ng build --prod) внутри конвейера сборки (например, Azure DevOps), а не использовать его для обслуживания приложения на размещенном сайте. Затем в конвейере выпуска вы опубликуете (скомпилированные) артефакты в Azure Web App.

Если вы хотите сделать это локально, это очень похоже. Вы компилируете свой проект и загружаете результат, например, с помощью Kudu.

Другие вопросы по тегам