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

Mar*_*tin 10 asp.net azure azure-deployment azure-app-service-plans asp.net-core

我正在尝试最小化在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下部署两个项目(以最小化成本)并保持一切自动化.

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

Ken*_*eth 13

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

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

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

我假设你知道如何做前两步.

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

  • 转到App1 =>应用程序设置=>添加PROJECT值 设置<path>\<path-to-app1>.csproj
  • 转到App2 =>应用程序设置=>添加PROJECT值设置<path>\<path-to-app2>.csproj

每次推送更改时,两个Web应用程序都将收到更新,但他们将在网站上部署不同的部分.

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