TeamCity オンプレミス 2026.1 ヘルプ

エージェント要件の設定

エージェントの要件は、ビルド構成を実行できるエージェントを指定する条件です。現在存在するすべての要件を表示して新しい要件を作成し、特定の構成を実行できるエージェントを確認するには、ビルド設定 | エージェント要件にアクセスしてください。

エージェント要件ビデオガイド

要件構文

エージェント要件は parameter operator [value] 式です。ここ

  • parameter は、定義済みまたはカスタム (ユーザー定義) のビルドパラメーターです。例: エージェントにインストールされているオペレーティングシステムを報告する teamcity.agent.jvm.os.name パラメーター。要件では、エージェントがこの特定のビルド構成のビルドを実行できるかどうかを識別する必要があるため、エージェントに応じて値が異なる可能性があるパラメーターのみを使用する必要があることに注意してください。たとえば、teamcity.serverUrl パラメーターはどのエージェントでも同じ値を報告し、エージェントの要件を定義するのに役立ちません。

  • operator は、value 部分の処理方法を定義するキーワードです。「等しい」、「で始まる」、「以下」などの演算子を選択できます。完全なリストについては、この記事を参照してください: 要件条件

  • value は、パラメーターによって報告された実際の値と比較されます。指定された基準に適合する場合、式全体は true を返します。これは、このエージェントがこの特定の構成と互換性がある (この特定の構成のビルドを実行できる) ことを意味します。一部の演算子は値を必要としません。たとえば、exists 演算子は、パラメーター値が null でないかどうかを確認します。matches および does not match 演算子を使用すると、値の比較に正規表現を使用できます。

明示的な要件

明確な要件は、ビルド構成設定エージェント要件セクションまたは Kotlin DSL で手動で構成される要件です。

  1. 構成設定を開き、エージェント要件設定タブに移動します。このページには、実行されるビルドルーチンに基づいて、現在ビルド構成を実行する資格があるエージェントが表示されます。

    Agent Requirements Tab
  2. 新しい要件を追加するボタンをクリックしてください。

  3. パラメーターと条件を選択し、値を入力して新しい式を作成します。TeamCity はエージェントによって報告されたパラメーターをスキャンするため、パラメーター名と値を入力すると候補が表示されます。

    Add new requirement
  4. 保存をクリックします。互換性のあるエージェントと互換性のないエージェントのリストが更新されます。TeamCity が新しい条件を満たすエージェントを見つけられない場合は、要件の横に対応する警告が表示されます。このようなビルド構成を実行すると、ビルドは「このビルドを実行できるアイドル状態の互換性のあるエージェントがありません」というステータスでキューで待機することになります。

    No compatible agents
Kotlin DSL

Kotlin DSL では、ビルド構成の requirements ブロックに新しい式を追加して、明示的な要件を作成します。

object MyBuildConfig : BuildType({ requirements { exists("DotNetCoreSDK5.0_Path") startsWith("teamcity.agent.jvm.os.name", "Windows") } })

関連事項: 要件 | Kotlin DSL ドキュメント

要件を一時的に無効にしたり、完全に削除したりするには、編集の横にあるドロップダウンメニューボタンをクリックします。

Remove or disable requirement

継承された要件

エージェント要件がビルド構成テンプレートで宣言されている場合、その要件はこのテンプレートに基づくすべての構成にも適用されます。これらの構成のエージェント要件ページでは、このような要件が「継承済み」としてマークされます。

Inherited requirement

プロジェクト管理者は、継承された要件が強制設定テンプレートの一部でない限り、継承された要件を編集、無効化、削除できます。

ビルドステップの要件

ビルド手順の要件は、プロジェクト管理者が手動で作成しなかった要件です。これらは、構成手順の実行内容に基づいて自動的に発生します。

たとえば、ステップの 1 つがコンテナー内で実行するように設定されている場合、このビルドを処理するように割り当てられたエージェントにはコンテナーエンジン (Docker または Podman) が必要です。そのため、TeamCity は自動的に docker.server.osType exists パラメーターを追加します。このパラメーターを報告しないエージェントは、この構成の新しいビルドに割り当てられません。

暗黙の要件

ビルドステップの要件と同様に、暗黙的な要件はビルドステップの構成に基づいて TeamCity によって自動的に追加されます。ただし、これらの要件はパラメーター参照のみに焦点を当てています。

たとえば、構成に echo "%myParam%" コマンドラインビルドステップがある場合、myParam パラメーターが存在し、値があることを意味します。それ以外の場合、パラメーターが欠落しているか空であれば、何も出力されません。この場合、TeamCity はパラメータータブに対応する警告を表示します ...

Implicit requirement: Parameters tab

... エージェント要件タブに対応するエントリが表示されます。

Implicit requirement: Requirements tab

つまり、暗黙の要件は、「構成で不明なパラメーターが使用されています」という警告として解釈される可能性があります。この問題を解決するには、構成 / プロジェクトレベルでパラメーター値を指定するか、ビルドエージェント buildAgent.properties ファイル内でこのパラメーターを定義する必要があります。

## TeamCity build agent configuration file ###################################### # Required Agent Properties # ###################################### <...> myParam="Hello world"

少なくとも 1 つのエージェントがこのパラメーターを報告する場合、そのパラメーターは互換性があるものとしてリストされ、暗黙の要件はエージェント要件タブに表示されません。

個々のステップの要件

構成全体の要件に加えて、個々のビルドステップのエージェントに対する要件を定義できます。これを行うには、ステップ設定を開き、パラメーター化された実行条件を追加します。

条件の組み合わせ

複数の要件が定義されている場合、それらはブール AND によって暗黙的に結合されます。例: 次の一連の条件では、env.JDK_17_0 パラメーターと env.JDK_21_0 パラメーターの両方が存在する必要があります。

requirements { exists("env.JDK_17_0") exists("env.JDK_21_0") }

要件をブール OR で結合するためのメカニズムはありません。

2026 年 3 月 08 日

関連ページ:

プロジェクト管理者ガイド

このセクションでは、プロジェクト管理に焦点を当てます。TeamCity プロジェクトとビルド構成の作成、ビルドステップの設定、依存関係チェーンの構成などについて説明します。基本的な TeamCity ワークフロー:次のダイアグラムは、基本的な TeamCity ワークフローを示しています。TeamCity サーバーはリポジトリの変更を検出しました。サーバーはこの変更をデータベースに書き込みます。ビルド構成に添付されたトリガーは、データベース内の関連する変更を検出し、ビルドを開始します。トリガー...

ビルドパラメーターの設定

パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は 3 種類のパラメーターをサポートしています。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...

要件条件

このページでは、エージェント要件またはビルドステップ実行要件で使用される条件について説明します。存在する指定されたプロパティが存在する場合、を返します。例: 存在しません指定されたプロパティが存在しない場合は、を返します。例: 等しい指定されたプロパティが存在し、指定された値と等しい場合、を返します。値フィールドを空のままにして、指定されたプロパティが存在するが空であるかどうかを確認できます。例: 等しくない指定されたプロパティの値が指定された値と異なる場合、またはこのプロパティが存在しない場合は、を...

Kotlin DSL

TeamCity では、バージョン管理で設定を XML 形式で保存するだけでなく、DSL (Kotlin 言語に基づく) で設定を保存することもできます。バージョン管理に保存された DSL を使用すると、プログラムで設定を定義できます。Kotlin は静的に型指定されるため、IDE で自動補完機能を自動的に受け取ります。これにより、利用可能な API オプションの発見がはるかに簡単になります。TeamCity での Kotlin DSL の使用に関するブログ投稿シリーズと推奨リファクタリングの記...

ビルドキューの操作

TeamCity では、ビルドキューはトリガーされた、または手動で起動され、開始を待機しているビルドのリストです。TeamCity は、ビルドがアイドル状態になるとすぐに、互換性のあるビルドエージェントに配布します。キューに入れられたビルドは、エージェントで開始された瞬間にエージェントに割り当てられます。ビルドがビルドキューで待機している間は、事前割り当ては行われません。キューページ:上部のナビゲーションバーからキューページにアクセスします。このページには、実行を待機しているビルドのリストが表...

ビルド構成テンプレート

構成テンプレートを作成するを使用すると、ビルド構成設定の重複を排除できます。類似した (必ずしも同一ではない) ビルド構成が複数あり、各構成を編集せずに 1 か所で共通設定を変更できるようにするには、それらの設定を含むビルド構成テンプレートを作成します。テンプレート設定を変更すると、このテンプレートに関連付けられているすべてのビルド構成に影響します。プロジェクトとそのサブプロジェクト内のすべてのビルド構成に対して、プロジェクト内のデフォルトテンプレートを定義することができます。詳細については、以...