Заменитель содержимого файла, не влияющий на артефакты

Я использую относительно новую функцию TeamCity: File Content Replacer. В моей текущей установке у меня есть файл version.js в моей VCS:

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. Zips все файлы JS в "zipsпапка;

Это также два моих артефакта (выходная папка и zip-файл).

Тем не менее, File Content Replacer отменяет свои изменения, но этот возврат также отражается в артефакте nr 1, который представляет собой файлы, которые не находятся под контролем версий (даже если они находятся в подпапках папки моего проекта). version.js файл в zip-файле не восстанавливается.

Если я изменю артефакт 1 на my/output/folder => all.%build.vcs.number%.zip тогда zip-файл также будет содержать возвращенное состояние вместо вывода, который я хочу.

Как настроить TeamCity так, чтобы файлы артефактов не затрагивались этим возвратом? Или мне нужно что-то кроме этой функции сборки?

Я использую TeamCity 9.1.3 build 37176 под управлением Windows 2012 Server (VM) и базу данных по умолчанию для целей оценки. Я использую TFS 2013 в качестве моего VCS.

PS. Я также спрашивал об этом на форумах JetBrains.

1 ответ

Решение

Замена содержимого файла отменяет изменения до этапа "Публикация артефактов". Это "по замыслу". Вы можете проверить это в журнале сборки. Однако вы можете найти измененные файлы в скрытых артефактах .teamcity/JetBrains.FileContentReplacer/,
Если вы хотите опубликовать измененный файл как обычный артефакт, вы должны создать копию файла (или упаковать / заархивировать его, как вы уже сделали). Также вместо использования функции сборки File Content Replacer вы можете создать скрипт, который будет вносить необходимые изменения, которые не будут отменены.

Другие вопросы по тегам