如何将包含两个项目的解决方案部署到Azure App Service?

时间:2017-08-01 21:25:20

标签: asp.net azure asp.net-core azure-deployment azure-app-service-plans

我正在努力降低在Azure App Service中运行我的Web应用程序的成本。我有一个带有两个Web项目的Visual Studio 2017解决方案:Web和API(都是.NET Core)。整个解决方案是单个GitHub Repo的一部分。在添加API项目之前,Azure App Service的构建和部署是自动化的。我的目标是使用两个子域(例如www.example.com和api.example.com)在同一App Service下部署两个项目(以最大限度地降低成本)并保持所有内容自动化。

这是可以做到的吗?有人可以帮我理解如何做到这一点?可以提交这些设置吗?

1 个答案:

答案 0 :(得分:12)

Azure App Service Plan可以包含多个Web应用程序。通常,当您使用Azure门户将其连接到源代码控制时,Kudu(App Service Plans背后的工具)将为该站点创建部署脚本。

如果您想将单个解决方案(和git repo)的两个项目部署到不同的Web应用程序,则必须执行以下操作:

  • 在相同的应用服务计划下创建两个网络应用
  • 将它们连接到相同的git仓库进行自动部署
  • 修改部署参数

我打算假设你知道怎么做前两步。

要修改部署参数,您可以通过Kudu下载并调整部署脚本来修改部署脚本,或者更简单一点,通过门户配置它:

  • 去App1 =&gt;应用程序设置=&gt;添加值PROJECT设置 <path>\<path-to-app1>.csproj
  • 去App2 =&gt;应用程序设置=&gt;添加值为PROJECT
  • 的设置<path>\<path-to-app2>.csproj

每次推送更改时,两个网络应用都会收到更新,但他们会在网站上部署不同的部分。

可以在此处找到更多信息(参见最后一段):https://github.com/projectkudu/kudu/wiki/Customizing-deployments