Azure Web App部署插槽web.config

时间:2016-06-15 08:01:10

标签: azure azure-web-sites azure-deployment-slots

我部署了一个托管为Azure Web应用程序的应用程序,我想为它创建多个环境:staging,QA,Live使用部署插槽。

我将所有应用程序配置保存在web.config中,我想将它们保留在那里。我知道网络应用程序有一个配置部分,但我想使用web.config。

我的问题是:在插槽之间交换时,有没有办法忽略web.config文件,以便每个插槽(环境)保留它自己的配置文件?

由于

2 个答案:

答案 0 :(得分:1)

在swap期间无法忽略web.config。交换时,所有文件都会被交换。

解决此问题的机制是使用doc中所述的插槽设置。这可用于设置App Settings和Connection Strings的值,以覆盖web.config中的内容,并使其成为插槽设置意味着它不会被交换。

答案 1 :(得分:0)

简短的回答不,在交换之前,您必须将QA环境中的web.config替换为Live web.config。

您可能要使用的是Azure“应用程序设置”。天蓝色的应用程序设置会覆盖web.config值,也可以配置为坚持使用该特定的部署插槽。

确定web.config中哪些AppSettings和ConnectionStrings设置是特定于该环境的,对于每种环境,请在Azure配置区域中进行配置并将它们标记为“部署插槽设置”。

例如,假设我有一个用于QA和实时环境的部署插槽,称为QA-Slot和Live-Slot。

在我的示例中,我有一个指向QA数据库和实时数据库的特定连接字符串,称为“ defaultConnection”,对于每个这些,我都有一个webApp设置,该设置指向一个“实时” APIUrl和一个“ QA” “ APIUrl。

要使用Azure界面设置连接字符串和appSettings,请导航到Web App的仪表板,在左侧的垂直导航中,在“设置”部分下选择“配置”,然后在“设置”部分中选择“应用程序设置”水平标签。

适当地设置您的appSettings和连接字符串,并在“添加/编辑”对话框上有一个复选框,将其指定为您要检查的“部署插槽设置”。

为Live和QA环境配置设置后,Live-Slot中的任何部署都指向“ Live”数据库和“ Live” APIUrl,而QA-Slot中的任何部署都指向QA数据库和QA APIUrl。 >