Развертывание веб-приложения net core 3.1 в Azure Linux Службе приложений. - PullRequest
1 голос
/ 20 февраля 2020

Я настроил выпуск в Azure Devops для развертывания приложения *. 1014 * core 3.1 в Linux Службе приложений в Azure. Кажется, что это pu sh код Azure, но по очень странному пути:

Индекс /wwwroot/Content/d_C/a/1/s/[MyProject]/obj/Release/netcoreapp3.1/PubTmp/Out/

Он содержит все библиотеки DLL, а затем каталог wwwroot в котором есть все файлы и папки, найденные в моем веб-проекте.

Вот мой Релиз, настроенный . У кого-нибудь есть идеи, почему мой релиз не публикуется на / home / site / wwwroot/? Другие говорят, что именно здесь должен быть опубликован сайт. Что-то мне нужно настроить на портале Azure или это вещь Devops?

1 Ответ

0 голосов
/ 21 февраля 2020

Этот проводной путь не должен соответствовать конфигурации задачи развертывания службы приложения Azure или Azure portal (Просто убедитесь, что значение Physical path в Azure portal равно site/wwwroot) .

Полагаю, вы использовали Visual studio build task для создания своего проекта, верно? Потому что я столкнулся с подобной структурой пути, если я использую задачу VSbuild для создания своего приложения .net core. Если да, то, что другие сказали вам, правильно. Это действие по умолчанию, если вы используете Visual studio build task в конвейере сборки.

Другие подробно объяснили это, также предоставив соответствующее решение. Вы можете обратиться к этому # 1 для объяснения этого действия по умолчанию. И проверьте это # 2 для обхода.

Поэтому я могу с уверенностью предположить, что вы разрабатываете приложение ASP. NET Core 3.0 для размещения в Ubuntu. Любое приложение. NET Core 3.0 (или более поздней) означает, что вы должны полагаться на dotnet build вместо использования VSBuild.

Кроме того, вы заявили, что вы будете размещать приложение в Ubuntu 18.x, затем вам также следует запустить сборку на Azure агенте DevOps, который работает в Ubuntu. Это означает, что вы должны использовать dotnet build только в задаче DotNetCoreCLI@2, поскольку задача VSBuild запускается только на агенте на основе Windows, а не в Ubuntu и предназначена для компиляции. NET Framework и другая платформа, отличная от NET Core.

Итак, чтобы достичь того, чего вы хотите, вам нужно использовать do tnet build build , чтобы построить ваш .net core 3.1 проект.

- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    command: 'build'
    projects: PATH/TO/YOUR/Project.csproj
    arguments: --output $(System.DefaultWorkingDirectory)/publish_output --configuration Release
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...