我正在使用 TeamCity 的一个相对较新的功能:文件内容替换器。在我当前的设置中,我的 VCS 中有一个 version.js 文件:
window["MyPlugin"].version = "1.0.##VCS_REVISION##.##CI_BUILD_NUMBER##";
我使用文件内容替换器构建功能将最后一部分替换为:
%build.vcs.number%.%system.build.number%
到目前为止,一切都很好!
我有一个相关的构建步骤。这是一个 MSBuild 步骤,但它除了调用 a 之外什么都不做ps1
,它做了两个相关的事情:
- 将所有 js 文件移动到“
output
”文件夹; - 将所有js文件压缩到一个“
zips
”文件夹中;
这些也是我的两个工件(一个输出文件夹和一个 zip 文件)。
但是,文件内容替换器会还原其更改,但此还原也反映在工件 nr 1 中,这些文件不受版本控制(即使它们位于我的项目文件夹的子文件夹中)。version.js
未还原 zip 文件中的文件。
如果我将工件 1 更改为,my/output/folder => all.%build.vcs.number%.zip
则 zip 文件还将包含恢复状态,而不是我想要的输出。
如何设置 TeamCity 以使工件文件不受此还原的影响?还是我需要这个构建功能以外的东西?
我正在使用在 Windows 2012 Server (VM) 和默认数据库上运行的 TeamCity 9.1.3 build 37176 进行评估。我使用 TFS 2013 作为我的 VCS。
PS。我也在JetBrains 论坛上问过这个问题。