Azure devops 在共享配置IIS中自动部署计算机密钥

Azure devops 在共享配置IIS中自动部署计算机密钥,azure-devops,web-config,azure-pipelines,azure-pipelines-release-pipeline,web.config-transform,Azure Devops,Web Config,Azure Pipelines,Azure Pipelines Release Pipeline,Web.config Transform,我正在使用Azure DevOps将ASP.NET应用程序部署到prem上的IIS服务器。IIS服务器使用共享配置,因此需要自定义计算机密钥设置 我可以使用XML转换在Web.Config中添加machineKey条目 <system.web> <machineKey decryptionKey="{hex-key value}" validationKey="{hex-key value}"/> </system.web> 但是我不想在

我正在使用Azure DevOps将ASP.NET应用程序部署到prem上的IIS服务器。IIS服务器使用共享配置,因此需要自定义计算机密钥设置

我可以使用XML转换在Web.Config中添加machineKey条目

  <system.web>
    <machineKey decryptionKey="{hex-key value}" validationKey="{hex-key value}"/>
  </system.web>

但是我不想在源代码管理中有实际的键,所以我需要在部署时替换这些值。对于appsettings和连接字符串来说,替换很容易,但是如何替换Web.Config的System.Web部分中的值呢

如何替换的System.Web部分中的值 Web.Config

怎样考虑使用一个分机?我之所以推荐它,是因为它可以满足需求,所以只能在管道运行期间进行更换

而且,它的使用非常方便。只需在任务中指定
前缀
后缀
,然后将它们应用到
web.config
文件中

然后在变量选项卡中指定同名的相应变量

只有这样,在管道运行期间,任务才能正确找到相应的令牌并将值替换到其中


有关详细步骤,您可以参考我之前的答案了解详细信息:。

那么在我的web.config中,我有一个类似这样的条目:
,它是从具有如下变量的管道部署的<代码>名称:解密密钥值:170C6CD9055 AnotarealKeyDee5D01C93F5A08B7E7E2AECE4CE4名称:验证密钥值:562BF31C1F78028FD9335非真实密钥7249EF3BE71A57D50BC1CCE70AD1932F7C9B7667963E53100DABD650E452EB18B8508DDB3DA191E70EB