Azure DevOps 发布 transform/replace 个令牌

Azure DevOps Release transform/replace tokens

我有 2 个配置文件,ConnectionStrings.config 和 ConnectionStrings.Release.config。这些文件用于存储我们在应用程序中使用的各种连接字符串。

<?xml version="1.0" standalone="yes"?>
<ConnectionStrings xmlns="http://tempuri.org/ConnectionStrings.xsd">
  <Service>
    <Name>MyService</Name>
    <Address>http://localhost/#{ConnectionString}#/MyServiceService.svc</Address>
    <ClassName>MyClass, MyClass</ClassName>
  </Service>
</ConnectionStrings>

当我们在本地部署时,我们使用正常的 ConnectionStrings.config,文件中没有任何替换标记。 .release.config 是具有标记的那个。

我正在使用这两个市场任务 [我的发布管道中的任务] 1

据我所知,转换任务是获取 .release.config 文件并“重命名”.config,然后替换标记任务用我的管道中的变量替换必要的标记。最后我将这些复制到我的目标。我的复制任务来源是我在 Azure 中的 Git 工作目录。

当我检查结果时,我没有看到 ConnectionStrings.config 发生任何变化,它只是像本地部署一样被复制过来。

我做错了什么?

您似乎在发布管道中使用此扩展程序:XDT Transform. After installing it in my organization, there are 2 external tasks: XDT tranform task and Replace Tokens task

下面是我的存储库结构,ConnectionStrings.config 和 ConnectionStrings.Release.config。 我的发布管道如下所示。 我创建了一个管道变量 ConnectionStrings,并将其值设置为 hello_world,使用 PowerShell 脚本 gc _215\ConnectionStrings.config 打印替换结果。创建一个新版本我们可以在下面看到日志。 因此它按预期工作。