使用Azure DevOps App Service Deploy任务部署独立的.NET Core应用程序

AsV*_*leO 6 azure-deployment azure-devops azure-pipelines azure-pipelines-release-pipeline

通过<SelfContained>true</SelfContained>在发布配置文件中进行定义,我可以从本地计算机上将.NET Core应用程序作为自托管应用程序发布到Azure Web Service 。

默认情况下,Azure DevOps管道中的App Service Deploy任务会将其发布到IIS。如何配置它以自托管方式发布?

R00*_*007 15

我使用面向 .NET Core 3.0 预览版的 Blazor 服务器端应用程序在 Azure Dev Ops 中完成了这项工作。要在不为构建定义创建 yaml 文件的情况下执行此操作,如果您的目标不是 .NET Core 的预览版本,您应该能够在 dotnet 发布任务中添加以下参数。

-r win-x86 --self-contained true
Run Code Online (Sandbox Code Playgroud)

-r 是您要定位的运行时,在我的情况下,我选择了 win-x86,因为这是我的应用程序服务配置使用的。然后只需添加自包含参数。您的完整论点可能如下所示:

--configuration $(BuildConfiguration) -r win-x86 --self-contained true --output $(build.artifactstagingdirectory)
Run Code Online (Sandbox Code Playgroud)

此链接涵盖 dotnet publish 命令。这与从本地机器dotnet publish 发布时执行的命令相同

运行时标识符的完整列表可以在这里找到:运行时标识符

yaml 文件yaml 中完整构建定义的要点

  • 附带说明一下,如果您已经使用“-r|--runtime”参数指定了运行时,则指定“--self-contained true”似乎是多余的。根据文档中的图表,对于 SDK 2.1 和 3.x,命令为:“dotnetpublish”(用于依赖于运行时的跨平台二进制文件)或“dotnetpublish -r &lt;RID&gt;”(用于独立的可执行文件)。文档:https://learn.microsoft.com/en-us/dotnet/core/deploying/ (2认同)