TeamCity オンプレミス 2025.11 ヘルプ

ビルドキューの操作

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

キューページ

上部のナビゲーションバーからキューページにアクセスします。このページには、実行を待機しているビルドのリストが表示され、各ビルドについて次の情報が表示されます。

  • キュー内の位置。ビルド結果ページへのリンクとしても機能します。

  • ソースブランチ名(使用可能な場合)。

  • 階層内のリンク可能なパス: すべての親サブプロジェクトとビルド構成。

  • 開始時間: 推定待機時間。推定時間値にカーソルを合わせると、次の情報を含むツールチップが表示されます。

    • 予想される開始 / 終了時間。

    • 計画されたエージェントへのリンク。

    • 現在のビルドがビルドチェーンの一部であり、それが依存するビルドがまだ完了していない場合、対応するメモが表示されます。これまで実行されたことのないビルドなど、一部のビルドでは、TeamCity は実行時間を推定できないため、ツールチップにそれぞれのメッセージが表示されます。

  • ビルドをトリガーしたイベントの簡単な説明。

  • このビルド構成と互換性のあるエージェントの数。エージェントの名前のリンクをクリックしてエージェントページを開くか、下矢印を使用してポップアップメニューに互換性のあるエージェントのリストをすばやく表示できます。

TeamCity によるビルドキューの最適化

デフォルトでは、TeamCity は次のようにビルドキューを最適化します。

  • 同様のビルドがキューに存在する場合、(同じ変更セットにあり、同じカスタムプロパティを持つ)新しいビルドは追加されません。

  • 自動的にトリガーされたビルドチェーンに、すでにキューに入れられているビルドチェーンよりも多くの変更がある場合、ビルドチェーンの結果の取得を遅らせない限り、後者は自動的にトリガーされたビルドチェーンに置き換えられます(推定期間に基づく)。

  • ビルドチェーンがキューにある間、TeamCity は、キューに入れられたビルドを同等の開始済みビルドに置き換えようとします。

  • 15 日を超えてキュー内に留まったビルドは、自動的にキャンセルされます (互換性のあるエージェントがない場合など)。

キュービルドのためのエージェント選択

キュービルドを実行できるアイドル状態のエージェントが複数ある場合、TeamCity は次のように最速のエージェントを選択しようとします。

  1. 以前にエージェントでビルドが実行されたことがない場合は、CPU ランクを使用してエージェントを選択します。

  2. ビルドが以前にエージェントで実行されている場合は、特定のビルド構成の推定ビルド期間を使用してエージェントを選択します。見積もりは、ビルド構成の履歴にある最新のビルドのヒューリスティックに基づいて行われます。見積もりでは、最近のビルドの実行時間は、以前のビルドの実行時間よりも重要です。個人的なおよびキャンセルされたビルドは考慮されません。また、このビルド構成の残りのビルドと期間が大幅に異なる個々のビルドも考慮されません。

ビルドキューを並べ替える

TeamCity ユーザーは、キューに入れられたビルドを次のように管理できます。

  • 「キュー内のビルドの順序変更」権限 (デフォルトの「プロジェクト開発者」ロールに含まれています) を持つユーザーは、キュー内のビルドをドラッグアンドドロップして順序を変更したり、ビルドをキューの先頭に移動したりできます。

  • 通常のビルドと個人ビルドを停止してキューから削除します。プロジェクト管理者は、「個人ビルドを停止 / キューから削除」権限により、他のユーザーがトリガーした個人ビルドも停止できます。

  • システム管理者は、ビルド構成に異なる優先順位を割り当てて、ビルドを昇格または降格することができます。

キューされたビルドの並べ替え

ビルドキュー内のビルドの順序を変更するには、キューページでビルドを目的の位置にドラッグします。特定のビルドをキューの一番上に移動するには、次のいずれかの操作を行います。

  • キューページのビルドオーダー番号の横にある矢印ボタンをクリックします。

    Move to top
  • キューに入れられたビルドの概要ページでアクション | 一番上に移動をクリックします。

    Move to top action

複合ビルドをキューの先頭に移動すると、ビルド全体がチェーンに昇格されます。実行中の複合ビルドにまだ開始されていない依存ビルドがある場合は、複合ビルドのアクションメニューでキューに入っている依存関係を先頭に移動項目をクリックすることで、明示的にキューの先頭に移動できます。

ビルドキューからのビルドの削除

キューからビルドを削除するには、選択したビルドの横にある除去ボックスにチェックを入れ、削除を確定してください。キューから削除するビルドがビルドチェーンの一部である場合、TeamCity はコメントフィールドに対応するメッセージを表示します。詳細はビルドチェーンの記事を参照してください。

さらに、次のことができます。

  • アクションメニューからすべての個人ビルドを一度にキューから削除します。

  • 一時停止されたビルド構成の複数のビルドをキューから削除します。

ビルド優先順位の管理

デフォルトでは、ビルドはトリガーされた順序でビルドキューに配置されます。最後にトリガーされたビルドがキューの一番下に追加されます。ビルドの優先度を変更して、定義された優先度と現在キューに入れられているビルドの待機時間に応じた位置でビルドがビルドキューに挿入されるようにすることができます。

優先クラスを作成することで、ビルドの優先順位を制御できます。優先順位クラスは、指定された優先順位を持つビルド構成のセットです (数値が大きいほど優先順位が高くなります。たとえば、priority=2priority=1 よりも高くなります)。構成の優先順位が高いほど、ビルドキューに追加されたときに上位に配置されます。

これらの設定にアクセスするには、キューページの右上隅にある優先度をクリックします。このアクションは、システム管理者のみが使用できることに注意してください。

Configuration Priorities

2 つの定義済み優先クラスがあります: 個人的なデフォルト、両方とも priority=0 付き:

  • すべての個人ビルド ( リモート実行またはテスト済みのコミット経由で起動) は、ビルドキューに追加されると、個人的な優先度クラスに割り当てられます。個人ビルドの優先度は変更できます。

  • デフォルトクラスには、他のクラスに関連付けられていないすべてのビルドが含まれています。これにより、デフォルトよりも低い優先順位でクラスを作成し、いくつかのビルドをキューの末尾に配置することができます。

新しい優先度クラスを作成するには

  1. 新しい優先度クラスを作成するをクリックします。

  2. その名前、優先順位(-100..100 の範囲内)、追加の説明を指定します。作成をクリックします。

  3. 構成の追加をクリックして、このクラスで優先度を定義するビルド構成を指定します。

Configure custom priority class

この設定は、ビルドがキューに追加される場合にのみ考慮されます。優先度の低いビルドが常に実行されるようにするために、TeamCity は各ビルドがキュー内に留まる時間も考慮します。これにより、最近追加された優先度の高いビルドよりも前に、長時間待機していたビルドを優先度の低い状態で実行することができます。以下のアルゴリズムの詳細な説明を参照してください。

ビルド優先アルゴリズム

新しいビルドがキューに追加されるたびに、すべてのビルドの優先順位が再計算され、新しいビルドは i の位置に配置されます。つまり、priority of build at position i-1 \>= priority of new build \> priority of build at position i+1 (キューの先頭は i = 0) となります。

次の式を使用して、キュー内のビルドの優先順位を再計算します。

buildPriority = (timeSpentInTheQueue / estimatedBuildDuration) + buildConfigurationPriority

ビルドが推定ビルド時間に等しい時間だけキュー内で待機すると、その優先度は 1 つ増加します。これにより、優先度の低いビルドが最終的に開始されるようになります。

ビルドキューの一時停止と再開

ビルドキューは手動または自動で一時停止できます。この場合、ビルドは引き続きキューに追加されますが、キューが一時停止されなくなるまで、ビルドはエージェントに割り当てられません。

エージェントを有効 / 無効にする権限 (デフォルトでエージェントマネージャーロールに含まれています) を持つユーザーは、ビルドキューを手動で一時停止 / 再開できます (キューを一時停止することは、サーバー上のすべてのエージェントを無効にすることと同じであるため)。このアクションは、キューページの右上隅で使用できます。

TeamCity サーバーのディスク容量が不足すると、ビルドキューは自動的に一時停止されます。十分な容量が確保されると、キューは自動的に再開されます。

キューが一時停止されると、TeamCity の各ページに一時停止の理由に関する情報を含むメッセージが表示されます。

ビルドキューの最大サイズを制限する

キュー内のビルドの最大数を制限することができます。デフォルトでは、制限は 6000 ビルドです。デフォルト値は、teamcity.buildTriggersChecker.queueSizeLimit 内部プロパティを構成することで変更できます。

キューのサイズが制限に達すると、TeamCity は自動ビルドトリガーを一時停止します。キューのサイズが制限を下回ると、再度有効になります。トリガーが一時停止されている間、すべてのユーザーに警告メッセージが表示されます。
ただし、キューが制限に達して自動トリガーが一時停止された場合でも、ビルドを手動でキューに追加することは可能です。

2026 年 1 月 30 日

関連ページ:

ビルドトリガーの設定

ビルド構成が作成されると、実行ボタンをクリックしてビルドを手動でトリガーしたり、トリガーを使用して自動的に開始したりできます。ビルドトリガーは、特定のイベントで新しいビルドを開始するルールです。ビルドはビルドキューに入れられ、実行可能なエージェントが存在する場合に開始されます。ビルド構成の作成 / 編集中に、ビルド設定ページのトリガーセクションを使用してトリガーを構成できます。新しいトリガーを追加をクリックしてトリガー設定を指定します。各トリガーの構成の詳細については、対応するセクションを参照し...

エージェント要件の設定

エージェントの要件は、ビルド構成を実行できるエージェントを指定する条件です。現在存在するすべての要件を表示して新しい要件を作成し、特定の構成を実行できるエージェントを確認するには、ビルド設定 | エージェント要件にアクセスしてください。エージェント要件ビデオガイド:要件構文:エージェント要件は式です。ここは、定義済みまたはカスタム (ユーザー定義) のビルドパラメーターです。例: エージェントにインストールされているオペレーティングシステムを報告するパラメーター。要件では、エージェントがこの特...

ビルドエージェントの詳細の表示

エージェントの状態と情報を表示するには、その名前をクリックするか、エージェントページに移動し、接続、切断、許可されたエージェントのリストでエージェントを見つけて、その名前をクリックします。接続されたエージェントごとに、TeamCity は次の情報を提供します。エージェント概要:状況: エージェントのステータスの詳細。詳細: エージェント名、エージェントのホスト IP アドレス、TeamCity サーバーがエージェントに接続するために使用するポート、エージェントとサーバー間のデータ転送に使用される通...

パーソナルビルドの実行

個人ビルドは、通常、バージョン管理にまだコミットされていない変更を使用する共通ビルドシーケンスからのビルドです。個人ビルドは通常、サポートされている IDE の 1 つからリモート実行プロシージャを介して開始されます。カスタムビルドを実行するダイアログから個人ビルドを開始し、変更を加えたパッチをサーバーに直接アップロードすることもできます。個人ビルドには対応するアイコンが付いており、ビルドを開始したユーザーのみに表示されます。他の TeamCity ユーザーの個人ビルドを表示するには、ユーザープロ...

ビルド状態

プロジェクトページのビルド構成の拡大表示に、ビルド状態アイコンが各ビルドの横に表示されます。構築国:正常に実行ビルドは正常に実行されています。成功指定されたすべてのビルド構成でビルドが正常に終了しました。実行中および失敗ビルドが失敗しています。失敗少なくとも 1 つの指定されたビルド構成でビルドが失敗しました。キャンセルビルドは取り消されました。キャンセル / 中止ビルド実行中のビルドを停止すると、ビルドステータスがキャンセル済みとして表示されます。実行中のビルドは、

ロールと権限の管理

TeamCity のユーザーアクセスレベルは、ユーザーに異なるロールを割り当てて、それぞれの権限を付与することによって処理されます。権限とは、ビルドを実行したり、ビルド構成設定を変更したりするなど、特定の操作を実行するための承認です。ロールとは、1 つまたはすべてのプロジェクトでユーザーに付与できる権限のセットであり、プロジェクトや UI のさまざまな機能へのアクセスを制御します。認証モード:TeamCity 認証は、シンプルモードと per-project モードの 2 つのモードをサポートしま...