【问题标题】:Override <connectionStrings> during release pipeline在发布管道期间覆盖 <connectionStrings>
【发布时间】:2018-10-23 04:18:06
【问题描述】:

我的Web.config 看起来像这样:

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

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

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

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

我的 repo 是公开的,这就是为什么我不想在其中设置密码,并且只有受信任的人才能访问用于部署的 VSTS 帐户。

【问题讨论】:

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


【解决方案1】:

不完全是您正在寻找的答案,但仍然是您问题的答案:查看 Application Settings 下的 Azure 应用服务 ConnectionStrings 设置:

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

以一种智能的方式使用它,您可以让设置只存在于应用服务上,而发布管道甚至不必知道它们。

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

另外,看看my comment on your post

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 2019-09-24
    • 2012-10-21
    • 1970-01-01
    • 2010-12-27
    相关资源
    最近更新 更多