您可以使用分词器任务在发布管理实用程序任务 https://marketplace.visualstudio.com/items?itemName=ms-devlabs.utilitytasks扩大。
- 安装发布管理实用程序任务扩展
- 使用 XPath/正则表达式任务添加 Tokenizer 以发布定义(指定源文件名和配置 Json 文件名)
配置文件示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="TestKey1" value="__Token1__" />
<add key="TestKey2" value="__Token2__" />
<add key="TestKey3" value="__Token3__" />
<add key="TestKey4" value="__Token4__" />
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
配置Json文件(默认环境是发布定义中的环境名称):
{
"Default Environment":{
"CustomVariables":{
"Token2":"value_from_custom2",
"Token3":"value_from_custom3"
},
"ConfigChanges":[
{
"KeyName":"/configuration/appSettings/add[@key='TestKey1']",
"Attribute":"value",
"Value":"value_from_xpath"
}
]
}
}
那么值TestKey1
(关键)将与value_from_xpath
和价值观TestKey2
and TestKey3
将与value_from_custom2
and value_from_custom3
.
另一方面,如果不指定配置 Json 文件名,则可以直接使用发布变量。
例如,有__TokenVariable1__
在你的配置文件中和TokenVariable1
发布定义中的发布/环境变量,然后__TokenVariable1__
将被替换为分词器 task.
相关文章:在 vNext/TFS 2015 中使用令牌化(令牌替换)进行构建/发布 https://dustinoprea.com/2016/05/06/using-tokenization-token-replacement-for-buildsreleases-in-tfs-2015/
Update:
您也可以直接通过 PowerShell 完成此操作。
使用 PowerShell 更新配置文件 https://blogs.msdn.microsoft.com/sonam_rastogi_blogs/2014/08/18/update-configuration-files-using-powershell/