如何将包含两个项目的解决方案部署到Azure应用服务?

12
我正在尝试在Azure App Service中降低Web应用程序的运行成本。我有一个Visual Studio 2017解决方案,其中包括两个Web项目:Web和API(都是.NET Core)。整个解决方案属于单个GitHub Repo。在添加API项目之前,构建和部署到Azure App Service已经自动化了。我的目标是在同一个App Service下部署两个项目(以最小化成本),并保持自动化,同时使用两个子域名(例如www.example.com和api.example.com)。
这是否可行?请问有谁可以帮助我理解如何完成此操作?这些设置是否可以提交?

之前的部署是如何工作的?使用 Git、源代码控制、构建服务器等吗?一个应用服务计划可以包含多个应用程序。 - Kenneth
持续交付是Azure门户中相关应用服务的一个选项。它从GitHub拉取代码,进行构建,然后部署。 - Martin
不得不点赞,因为这正是我的困境! - Andy
1个回答

18
Azure 应用服务计划可以包含多个 Web 应用程序。通常,在使用 Azure 门户将其连接到源代码控制时,Kudu(App Service 计划背后的工具)会为该站点创建部署脚本。
如果您想要将单个解决方案(和 git 存储库)的两个项目部署到不同的 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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接