gpt4 book ai didi

teamcity - 文件内容替换器对工件没有影响

转载 作者:行者123 更新时间:2023-12-01 04:34:27 24 4
gpt4 key购买 nike

我正在使用 TeamCity 的一项相对较新的功能:文件内容替换器。在我当前的设置中,我的 VCS 中有一个 version.js 文件:

window["MyPlugin"].version = "1.0.##VCS_REVISION##.##CI_BUILD_NUMBER##";

我使用 File Content Replacer 构建功能将最后一部分替换为:

%build.vcs.number%.%system.build.number%

到目前为止一切顺利!

我有一个相关的构建步骤。这是一个 MSBuild 步骤,但它除了调用 ps1 之外什么都不做,它会做两件相关的事情:

  1. 将所有 js 文件移动到“output”文件夹;
  2. 将所有 js 文件压缩到“zips”文件夹中;

这也是我的两个工件(一个输出文件夹和一个 zip 文件)。

但是,文件内容替换器恢复了它的更改,但这种恢复也反射(reflect)在工件 nr 1 中,这些文件不受版本控制(即使它们位于我的项目文件夹的子文件夹中)。 zip 文件中的 version.js 文件未还原。

如果我将工件 1 更改为 my/output/folder => all.%build.vcs.number%.zip 那么 zip 文件也将包含恢复状态而不是输出 I想要。

如何设置 TeamCity 以使工件文件不受此还原的影响?或者我是否需要此构建功能以外的其他东西?

我正在使用在 Windows 2012 Server (VM) 上运行的 TeamCity 9.1.3 build 37176 和用于评估目的的默认数据库。我正在使用 TFS 2013 作为我的 VCS。

附言。我也问过这个 on the JetBrains forums .

最佳答案

文件内容替换恢复“发布工件”阶段之前的更改。这是“设计使然”。您可以在构建日志中查看它。但是,您可以在隐藏的工件 .teamcity/JetBrains.FileContentReplacer/ 中找到修改后的文件。
如果您想将更改后的文件作为常规工件发布,您应该创建该文件的副本(或像您已经完成的那样打包/存档)。此外,除了使用文件内容替换器构建功能之外,您还可以创建一个脚本来进行所需的更改,这些更改不会被还原。

关于teamcity - 文件内容替换器对工件没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33666634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com