同じマシン上で複数の TeamCity エージェントを実行する

一般的なケースでは、物理マシンまたは仮想マシン当たり 1 つのビルドエージェントをインストールするようにお勧めしています。このようにすれば、ビルドの動作を予測しやすくなり、ビルド間でのデータの競合を避けられるためです。 ただし、同じマシン上に複数の並列ビルドを実行する場合は、そのマシン上に複数のビルドエージェントをセットアップすることが可能です。

これを行うには、まずは通常どおりに最初のビルドエージェントをインストールします。 それ以降のエージェントを同じマシンにインストールして構成するには、次の点に留意してください。

  • 異なる OS ユーザーアカウントを使用して、新しいエージェントをそれぞれインストールすること。 このようにすることで、アーティファクトのキャッシュなどのユーザーリソースの競合が防止されます。
  • 各エージェントを別々のローカルディレクトリにインストールすること。
  • エージェントごとに構成ファイルconf/buildAgent.properties)を調整すること。
    • `name` と `port` に固有の任意の値を設定します。
    • エージェント独自の作業ディレクトリ(`workDir`)と一時ディレクトリ(`tempDir`)への相対パスを指定します。 これらのディレクトリのコピーがエージェントごとに独立して存在することが重要です。
    • `authorizationToken` プロパティをクリア(削除または値を削除)します。 エージェントは指定のトークンをサーバーに接続する際に受信します。
    • TeamCity On-Premises サーバーがリバースプロキシの背後にインストールされている場合は、必ず `serverUrl` をプロキシのアドレスに設定します。

    TeamCity Cloud ユーザーの場合は、一意のエージェント構成ファイルを自動的に生成することが可能です。Agents(エージェント)に移動し、画面の右上にある Install Build Agents(ビルドエージェントのインストール)メニューを開き、Use authentication token(認証トークンを使用する)とクリックします。 Download config(構成をダウンロードする)オプションを選択し、エージェント名(ビルドエージェント構成の `name` 属性)を入力して構成ファイル全体をダウンロードします。 そのファイルをビルドエージェントディレクトリに `buildAgent.properties` として配置します。 上記に説明されるとおりに変更してください。

  • ビルドステップとスクリプトで、エージェントのマシン上の絶対パスではなく、ビルドチェックアウトディレクトリのファイルへの相対パスが使用されていることを確認すること。 必要であれば、clean checkout(チェックアウトのクリーニング)オプションを有効にし、ビルド直前に必ず VCS リポジトリから直接ソースを取得するようにしておくことができます。

このインストール手順は、こちらのヘルプ記事でより詳細に説明されています。また、Windows マシンと macOS マシンでの重要な注意事項も記載されています。