【发布时间】:2018-07-13 01:04:08
【问题描述】:
我正在使用 VSTS 开发 DevOps。我有一个带有 Web.config 文件的 Web 项目(例如 webproject1),如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections>
<appSettings>
<add key="IndexDirectory" value="D:\wwwroot\XXXX\Indexes" />
</appSettings>
<caching localActiveProvider="MemoryCacheProvider" globalActiveProvider="RedisCacheProvider"> <strategy name="LocalAndGlobal" localDefaultTTL="0:00:04:00" globalDefaultTTL="0:04:00:00" /> <provider name="RedisCacheProvider">
<setting name="connectionString" value="XXXXXXXXXXXXXX" />
</provider>
<provider name="AppFabricCacheProvider">
<setting name="cacheName" value="XXXX"/>
<setting name="hostName" value="XXXX" />
<setting name="cachePort" value="22233" />
<setting name="maxConnectionsToServer" value="100" />
</provider>
<provider name="MemoryCacheProvider">
</provider> <cacheKeyTTL>
<add key="LoggedInEnabledUserIDs" value="0.00:02:00" />
</cacheKeyTTL>
</caching>
</configuration>
我使用 IIS Web App Manage 和 IIS Web App Deploy Deployment 任务在 VSTS 中为 Web 项目创建了发布定义。我想用 Web.config 文件中的客户端键值替换键值,因为我按照此文档使用 VSTS 转换 Web.Config 文件“正确”,并在 IIS web 的文件转换和变量替换选项下启用了 XML 变量替换选项App Deploy VSTS 发布任务。
我在“变量”选项卡下使用客户端值声明了 IndexDirectory、connectionString 和 maxConnectionsToServer。发布成功后,我观察到只有 IndexDirectory 值正在更新,但 connectionString 和 maxConnectionsToServer 没有使用变量选项卡中提供的值进行更新。
我在不同的 VSTS 帐户中尝试了相同的发布步骤,它正在更新所有三个值。但仅在客户端 VSTS 帐户中不会更新所有三个值。
【问题讨论】:
标签: xml iis web-config azure-devops azure-pipelines-release-pipeline