我有一个Visual Studio解决方案,包含两个Web应用程序(我们的主站点和我们的WebAPI项目) . 我可以使用applicationhost.config将它们作为单个站点在IIS Express中本地托管,但我想将它们打包(在我们的Build中),然后将它们(在我们的Release中)作为Visual Studio Online中的单个站点进行部署(托管我们的代码)到Azure .
我的Visual Studio Team Services构建配置将每个Visual Studio项目打包到其自己的Web Deploy包中 . Web Deploy打包是在构建阶段完成的,Azure的部署是在发布阶段完成的 - 这样做是因为我不会在每次部署时重新编译源代码,这是不必要的并且会减慢进程 .
第一个Web应用程序在其pubxml文件中将“HelloAzure”标识为DeployIisAppPath . 第二个(WebAPI项目)将“HelloAzure / api”标识为其pubxml文件中的DeployIisAppPath .
目前,我正在使用两个“Azure网站部署”步骤(使用服务 endpoints 执行部署的步骤) . 我为这两个步骤命名了相同的Web应用程序名称 . 部署第二个项目时,它似乎会覆盖第一个项目,而不是将第二个应用程序添加到现有站点 . 我相信我不能遵循将几个Web Deploy打包的应用程序从Visual Studio Team Services部署到Azure的一个Web站点的预期做法,但我无法在任何地方找到建议的做法 .
我确实需要将两个应用程序托管在一个站点中 . 将它们部署为单独的站点不是一种选择 .
看来Kudu有一些可能支持这种情况的选项,但我没有从源代码部署,我正在从我们的Team Services构建创建的Web Deploy包部署 .
1 回答
MSDeployAllTheThings VSTS扩展支持部署到Azure站点中的虚拟应用程序 .
https://marketplace.visualstudio.com/items?itemName=rschiefer.MSDeployAllTheThings
根据这个帖子,微软似乎还增加了从VSTS到Azure部署到虚拟应用程序到AzureRM VSTS扩展的官方支持:https://github.com/Microsoft/vsts-tasks/issues/624