在发布管道期间覆盖<connectionstrings>

时间:2018-10-23 04:18:06

标签: asp.net-mvc-5 web-config azure-devops connection-string

我的Web.config如下:

<connectionStrings configSource="secretConnectionStrings.config">
  </connectionStrings>

secretConnectionStrings.config使用密码存储数据库连接字符串,并且不在源代码管理中。

我可以在“部署Azure应用服务”任务中看到以下内容:

configuration settings

如何更新我的VSTS发布管道,以便将<connectionStrings>部分替换为我提供的连接字符串(包括密码)?

我的仓库是公开的,这就是为什么我不希望在那里输入密码,而只有受信任的人才能访问用于部署的VSTS帐户。

1 个答案:

答案 0 :(得分:1)

并非完全是您要寻找的答案,但仍然是您遇到的问题的答案:看看ConnectionStrings下的Azure应用服务Application Settings设置可以做什么:

  

对于.NET应用程序,这些连接字符串将在运行时注入到您的.NET配置connectionStrings设置中,并覆盖键等于链接的数据库名称的现有条目。

以智能的方式使用它可以使设置仅在App Service上显示,而无需发布管道,甚至不必知道它们。

当然,您也可以使发布管道更新App Service上的设置。因为您可以使用Azure App Service Deploy任务进行XML转换,所以可以删除外部文件引用。或将其全部删除。

另外,看看my comment on your post