TeamCity 2020.2 ヘルプ

エージェントツールのインストール

TeamCity では、エージェントツール(つまり、ファイルのセット / バイナリディストリビューション)は、ランタイムにクラスがロードされていないタイプのプラグインです。エージェントツールは、バイナリファイルをエージェントにディストリビューションするためにのみ使用されます。

TeamCity を使用すると、サーバーに追加のツールをインストール / 削除してディストリビューションし、オンデマンドでエージェントを構築できます。
多くのビルドエージェントが存在する環境では、構成ファイルのディストリビューションを一元化したり(たとえば、カスタム構成ファイル / ライブラリを必要とするすべてのエージェントにディストリビューションしたい場合)、エージェントのツールを一度に削除したりできます。

管理 | ツールページは、適切なプラグインによって使用されるツールをセットアップするための統一されたインターフェースを提供します。ツールの異なるバージョンをインストールしたり、デフォルトバージョンを変更したりできます。ツールは、要求するエージェントをビルドするために自動的に配布され、関連するランナーで使用されます。

管理 | ツールページでは、次の種類のツールを管理できます。

  • IntelliJ IDEA のバンドル版をデフォルトとして設定した IntelliJ インスペクションと重複エンジン

  • バンドルバージョンがデフォルトとして設定されている JetBrains dotCover コマンドラインツール。.NET プロジェクトのコードカバレッジを収集するために使用されます。

  • JetBrains ReSharper コマンドラインツール : デフォルトでは、これらのツールは TeamCity にバンドルされており、コード分析を実行するためにインスペクション(.NET)、重複ファインダー(.NET)ビルドランナーによって使用されます。

  • Maven : 3.2.5 がデフォルトとして設定された状態で、いくつかのバンドル版が表示されます。

  • NuGet 固有のビルド手順および NuGet 依存関係トリガーで使用される NuGet.exetools/NuGet.exe ファイルを含む NuGet パッケージ(.nupkg ファイル)がサポートされています。

  • NUnit 3 : 異なるバージョンをインストールし、デフォルトのバージョンを設定 / 変更できます。

  • Sysinternals handle.exe は、Windows エージェントのチェックアウトディレクトリにファイルを保持するプロセスを決定するために使用されていました。

  • Sysinternals psexec.exe は、エージェントプッシュを使用して TeamCity エージェントを Windows サーバーから Windows ホストにインストールするために必要です。

  • .zip アーカイブとしての独自のツールをアップロードすることもできます。ツールプラグインの構造はプラグインパッケージングページ(英語)で説明されています。TeamCity は、すべてのエージェントのツール名として zip ファイルの名前を使用します。zip ファイルは、エージェント上で同じ名前のディレクトリに自動的に解凍されます。
    最初のカスタムツールがインストールされると、Zip アーカイブセクションがページに表示されます。このセクションでは、すべてのツールの使用状況を確認したり、ツールを削除したり、新しいツールをインストールしたりできます。

TeamCity は、インストールされたツールを <TeamCity データディレクトリ > /plugins/.tools に配置し、このフォルダーのコンテンツをモニターします。

エージェントは、それを必要とする最初のビルドを開始する前にツールをダウンロードします。ダウンロードすると、ツールはエージェントに保存されるため、ビルドが再度ダウンロードするのに時間を費やすことはありません。

ツールに直接依存するビルドステップの設定を編集する場合は、ドロップダウンメニューからこのツールの特定のバージョンを選択するだけで、TeamCity にエージェントに配信する正確なツールを知らせることができます。

ただし、任意のビルドスクリプトに特定のツールが必要な場合があります。このような場合、パラメーターの入力をサポートするビルドステップ設定の %teamcity.tool.<installed_tool_ID>% パラメーターを介して、必要なツールを参照できます。ビルド構成パラメーターの値またはエージェント要件でツールを参照することもできます。たとえば、エージェント要件の場合、%teamcity.tool.<installed_tool_ID>% という名前のパラメーターに対して型 exists の要件を定義できます。これにより、ビルドに参照ツールが必要であることを TeamCity に指示します。TeamCity サーバーは、ビルドを開始する前に、すべてのビルドステップの設定をスキャンし、そのようなすべてのツール参照を見つけて、ビルドに必要なツールをエージェントに通知します。

ツールがエージェントに表示されることを確認するには、TeamCity Web UI でエージェントによって報告された構成パラメーターteamcity.tool.<installed_tool_ID> を探します。

TeamCity Web UI でツールを削除すると、このツールがインストールされている各エージェントはこれを検出し、ツールのコピーを削除して再起動します。