替换Azure Web App中所有.config文件中的标记

时间:2018-06-04 12:01:41

标签: azure azure-devops azure-web-app-service azure-pipelines-release-pipeline azure-app-service-envrmnt

我已使用部署组阶段中的文件中的替换标记任务设置了在本地测试环境中成功替换的环境变量。我现在部署到 Azure应用服务,我想知道如何实现令牌替换,因为令牌的格式为:#{tokenname}#并且我想替换文件中的令牌匹配模式:**/*.config。我已经看过在Azure App Service Deploy步骤中启用XML变量替换,但这似乎并不针对所有配置文件中的所有令牌。

1 个答案:

答案 0 :(得分:1)

Azure App Service Deploy任务的XML变量替换用于修改配置设置,它的任务仅对配置文件的applicationSettings,appSettings,connectionStrings和configSections元素有效。

例如:

的Web.config:

<appSettings>
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobstructiveJavascriptEnabled" value="true" />
        <!-- Change AdminUserName in this line: --> 
        <add key="AdminUserName" value="XXX" />
        <!-- Change AdminPassword in this line: --> 
        <add key="AdminPassword" value="XXX" />
    </appSettings>

发布定义变量:

  1. AdminUserName = ProAdmin
  2. AdminPassword = ProPass
  3. 然后,AdminUserName和AdminPassword的值将替换为ProAdmin和ProPass。

    XML variable substitution

    关于您的问题,您仍然可以使用替换标记任务来替换值(需要将zip文件解压缩到文件夹中),您可以为不同的环境定义具有相同名称的变量(范围)。

    如果您只需要替换applicationSettings,appSettings,connectionStrings和configSections元素中的值,也可以使用Azure App Service部署任务。