TeamCity On-Premises 2026.2 Help

エージェント要件の構成

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

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

要件構文

どのエージェント要件も パラメーター 演算子 [値] 式です。ここで:

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

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

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

明示的な要件

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

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

    エージェント要件タブ
  2. 新しい要件を追加するボタンをクリックしてください。

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

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

    互換性のあるエージェントはありません
Kotlin DSL

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

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

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

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

要件を削除または無効にする

継承された要件

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

継承された要件

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

ビルドステップの要件

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

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

暗黙の要件

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

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

暗黙の要件: パラメータータブ

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

暗黙の要件: 要件タブ

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

## 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 年 9 月 11 日