我有一个我需要在不同网站上部署的网络应用程序。
条件:
如何让不同的网站使用与不同web.config相同的应用程序部署来从不同的数据库中提取数据?
以下是我的控制面板现在的样子:
这些网站都是我从Visual Studio中单独发布的应用程序。
最终目标是:
我找到了这篇文章:http://www.wadewegner.com/2011/02/running-multiple-websites-in-a-windows-azure-web-role/ 它在“在Web角色的两个站点中运行相同的项目”中简要介绍了这一点
但似乎这应该用于本地设置,而不是讨论如何在远程Azure实例上获取此功能。
答案 0 :(得分:0)
这看起来非常简单。不确定你的问题究竟是什么。
您可以轻松地将(从源代码管理部署)多个Azure网站映射到相同的源代码存储库。然后,如果您使用的是VSO(Visual Studio Online),则链接将为每个站点创建新的CI构建定义。然后,您只需编辑构建配置以包含每个环境的相应配置设置。
如果您正在使用其他源代码管理,您仍可以自定义连续部署的工作方式。所有设置都可以通过特殊的.dpeloyment
文件进行配置。您可以阅读有关these configurable settings here的更多信息。最重要的部分:
SCM_BUILD_ARGS = -p:配置=调试; PublishProfile = MyChainedTransform
您可以更改构建配置以匹配目标站点的配置。
现在,如何独立于源代码控制。好的Kudu Gurus也考虑过这个。您可以通过Application Setting for the web site itself调整这些设置(请参阅Using App Settings instead of .deployment file
:
相反,您可以使用“应用程序设置”设置支持的相同值 在.deployment文件中。步骤是:
转到Azure门户中的站点的“配置”选项卡
添加名为
Project
的应用设置,并将其值设置为WebProject/WebProject.csproj
然后在您的其他网站上,您可以将Project设置为指向其他
.csproj
文件。
因此,您在“网站应用程序设置”中添加了一个包含密钥SCM_BUILD_ARGS
和值-p:Configuration=<your_desired_configuration>
的新条目,您应该准备好了。
免责声明:没有检查解决方案,但没有理由不这样做。