Я пытаюсь развернуть приложение Aurelia на основе скелет навигации ASP.NET 5 ES2016 в Microsoft Azure с использованием веб-развертывания ([щелкните правой кнопкой мыши] → публикация) из Visual Studio 2015.
Но я не могу заставить depolyment работать.
Я изменил настройки prepublish в файле project.json на:
"prepublish": [ "npm install", "gulp bundle" ]
но это только приводит к сбою процесса публикации в Visual Studio. Запуск gulp bundle с консоли отлично работает.
Итак, моя следующая попытка состояла в том, чтобы удалить все задачи prepublish, запустить gulp bundle вручную, а затем опубликовать. Это позволяет завершить процесс публикации, но веб-приложение на лазури никогда не загружается и в конечном итоге дает мне тайм-аут.
Думая, что это может иметь какое-то отношение к папке jspm_packages, которую я пробовал, включая те, что находятся в файле Web.xproj на основе этот поток github, но это приводит к следующей ошибке:
502 - Web server received an invalid response while acting as a gateway or proxy server.
Update
Я попытался установить сценарии prepublish и запустить dnu publish с консоли. Это работает без проблемного объявления, генерирует все необходимые выходные данные в папке \bin\output\wwwroot. Тем не менее, этот же процесс не выполняется при запуске из действия "Опубликовать действие контекстного меню" в Visual Studio; не генерируется выход.
Просто добавьте его здесь, если он проливает свет на проблему.
Обновление 2
Хорошо, я заметил, что сообщение закрытия команды dnu publish
Using command 'web' as entry point for web.config
И потом пенни упала. Навигационное решение Aurelia Skeleton определяет следующую команду в файле project.json:
"web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://*:9000/",
который, конечно же, не будет работать в Azure. Итак, я удалил опции --server.urls, удалил скрипты prepublish снова из project.json и вот и вот, приложение запускается...
... разделены.
Во всяком случае, многое изменилось с момента ввода этого вопроса, но мне все еще интересно:
-
Почему публикация не выполняется из Visual Studio, когда у меня определены задачи
prepublish? -
Самое главное, как я могу опубликовать связанное приложение Aurelia с azure?
Обновление 3
Связывание работает, когда вызывается из консоли. Я думаю, что я никогда не пытался опубликовать прилагаемое приложение после удаления параметра --server.urls из project.json.
Итак, где мы находимся в?
Публикация на Azure с "prepublish": [ "gulp bundle" ] все еще не выполняется. Это gulpfile.js, который поставляется с навигационным скелетом Aurelia:
require('require-dir')('build/tasks');
И Visual Studio выдает ошибку в следующей строке watch.js при запуске prepublish задач:
console.log(`File ${event.path} was ${event.type}, running tasks...`);
Это совершенно непонятно, потому что задача bundle не звонит watch. Когда-либо. И запуск gulp bundle с консоли работает, как ожидалось.
Итак, похоже, VS2015 загружает каждую задачу из папки build/tasks.
Я пробовал полностью комментировать файл watch.js, но тогда я вижу только следующую ошибку: prepublish failed with code 1.
Любая помощь или идеи по поводу того, почему я не могу опубликовать с помощью задач prepublish, будет очень благодарна.