TeamCity の比較的新しい機能である File Content Replacer を使用しています。現在のセットアップでは、VCS に version.js ファイルがあります。
window["MyPlugin"].version = "1.0.##VCS_REVISION##.##CI_BUILD_NUMBER##";
File Content Replacer ビルド機能を使用して、最後の部分を次のものに置き換えます。
%build.vcs.number%.%system.build.number%
ここまでは順調ですね!
関連するビルドステップが 1 つあります。これは MSBuild のステップですが、次のps1
2 つの関連することを行うcall a 以外は何もしません。
- すべての js ファイルを "
output
" フォルダーに移動します。 - すべての js ファイルを "
zips
" フォルダーに圧縮します。
これらは私の 2 つの成果物 (出力フォルダーと zip ファイル) でもあります。
ただし、File Content Replacer はその変更を元に戻しますが、この元に戻すことはアーティファクト番号 1 にも反映されます。これは、バージョン管理されていないファイルです (プロジェクト フォルダーのサブフォルダーとして配置されています)。version.js
zip ファイル内のファイルは元に戻されません。
アーティファクト 1 を に変更すると、必要なmy/output/folder => all.%build.vcs.number%.zip
出力ではなく、元に戻された状態が zip ファイルにも含まれます。
成果物ファイルがこの復帰の影響を受けないように TeamCity を設定するにはどうすればよいですか? または、このビルド機能以外に何か必要ですか?
Windows 2012 Server (VM) で実行されている TeamCity 9.1.3 ビルド 37176 と、評価目的のデフォルト データベースを使用しています。TFS 2013 を VCS として使用しています。
PS。これについては、JetBrains フォーラムでも質問しました。