我当前正在使用Azure云服务(经典),并且能够使用Azure云服务项目有效地部署包含4个虚拟应用程序的WebApp。我的ServiceDefinition.csdef文件类似于:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="My.Azure.Web.API" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
<WebRole name="My.Web.API" vmsize="Small">
<Sites>
<Site name="Web" physicalDirectory="{path to My.Web.API}">
<VirtualApplication name="webapp1" physicalDirectory="{path to My.Web.WebApp1}" />
<VirtualApplication name="webapp2" physicalDirectory="{path to My.Web.WebApp2}" />
<VirtualApplication name="webapp3" physicalDirectory="{path to My.Web.WebApp3}" />
<VirtualApplication name="webapp4" physicalDirectory="{path to My.Web.WebApp4}" />
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
<Binding name="HttpsIn" endpointName="HttpsIn" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
<InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="{certname}" />
</Endpoints>
<Imports>
<!--<Import moduleName="Diagnostics" />-->
<Import moduleName="RemoteAccess" />
<Import moduleName="RemoteForwarder" />
</Imports>
<ConfigurationSettings>
</ConfigurationSettings>
<Certificates>
<Certificate name="{certname}" storeLocation="LocalMachine" storeName="My" />
</Certificates>
</WebRole>
</ServiceDefinition>
我正在致力于迁移到Azure应用程序服务,尽管进行了一些重大的挖掘,但我似乎找不到Visual Studio中针对Azure应用程序服务中多个虚拟应用程序的等效/类似部署过程。
我发现很多帖子都指出在实际的WebApp项目中使用发布功能,但我必须执行4个单独的部署,而不是在一个上。并且需要在App Service配置中预定义虚拟目录。在当前的方法中,虚拟应用程序/目录是在部署过程中定义的。
我计划最终转移到Azure DevOps Pipelines for CI/CD,并希望有一种机制来实现这一点,但目前我只想从Visual Studio中获得一些功能。
在Visual Studio中是否有针对Azure应用服务中多个虚拟应用程序的等效/相似部署流程?如果没有,有哪些选项?
抱歉,如果这是一个重新胎面。我做了我的尽职调查没有明确的答案。除非当然答案是正确的在我面前!?谢谢你的时间!
埃里克
1条答案
按热度按时间5vf7fwbs1#
请检查以下步骤以从Visual Studio 2022将多个虚拟应用程序部署到Azure应用服务。
Download publish profile
。VS 2022
中,创建你想要的框架的应用程序,我已经以.NET Core Apps
为例。Visual Studio项目文件夹结构
在Azure Portal中创建
Virtual Directories
的选项仅适用于Azure Windows App Service
。Virtual Path
与VisualStudio
中的Web App Name
相同。使用下载的发布配置文件将VS中的每个应用程序发布到Azure应用服务。
1st WebApp
项目=〉Publish
=〉添加发布配置文件=〉Import Profile
。Azure Portal App Service
下载的Publish Profile
。App Service name/VirtualPathName
。***例如:***此处为VirtualApps29Dec/WebApp1
。WebApp2
、WebApp3
和WebApp4
,请对相同的Publish Profile
执行相同的步骤。已在KUDU控制台中部署Azure应用服务结构
应用程序的
Url's
将为最初,当我尝试访问应用程序,我得到了下面的错误.
当我检查部署的应用程序的
Web.config
时,我可以看到下面的代码。AspNetCoreModule2
不允许在同一个应用服务计划中有多个进程内虚拟应用。AspNetCoreModule2
更改为AspNetCoreModule
解决了此问题Web.config
文件。输出: