我有一个拥有mvc网站(WebApplication1)的解决方案,该网站依赖于解决方案中的另一个项目(WebAppCore)。源代码托管在Visual Studio Online上的git中。我配置了持续集成。一切都很好,但是当部署发生时,它会部署WebAppCore。据我了解,这是预期的行为,因为这是解决方案中的第一个项目。我希望它部署WebApplication1。
我的问题似乎与此相同: Azure websites deploy specific web project
该问题的解决方案是转到azure网站配置页面并添加Project的应用程序设置,并为其提供我想要部署的项目的repo root相对路径。就我而言:
项目:WebApplication1 \ WebApplication1 \ WebApplication1.csproj
设置似乎不起作用。我已经尝试了项目路径的许多其他组合,但似乎都没有。
以下是更多详情:
在模板处理设置中:
故障排除1 由于这些都是测试项目,当我删除WebAppCore时,WebApplication1现在是解决方案中唯一可以部署的项目。
疑难解答2 虽然这不是我想要的修复,但我决定尝试使用此处所述的.deployment文件(尽管本文还提到了使用Project应用程序设置): How can I use the TFS Online <--> Azure Website integration when there are two web apps in the solution
这不起作用
答案 0 :(得分:8)
我在另一个论坛上收到了Microsoft的评论,并认为我会在这里添加它,因为它结果是答案:
目前,从VSO到Azure执行CI的构建定义将在该解决方案中按字母顺序部署第一个Web应用程序。如果您要部署特定的Web应用程序,则需要创建仅包含该Web应用程序的解决方案。来自azure门户网站的设置向导最好根据团队项目中只有1个解决方案的简单约定和解决方案中的1个网站为您设置所有内容。这是我们期望在未来解决的问题,以便为用户提供更多的灵活性和控制力。
答案 1 :(得分:5)
我想出了一个我觉得适合你的解决方法。在这里写了一篇关于它的博客文章:
http://peter.orneholm.com/post/84647111808/deploy-to-multiple-azure-websites-with-visual-studio
TD; DR:创建多个解决方案配置,仅构建要部署的项目。然后将构建与正确的构建配置相关联。
答案 2 :(得分:0)
或者在Azure中的“应用程序设置”下设置“项目”属性。