TeamCity On-Premises 2026.2 Help

ビルドキューの操作

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

キューページ

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

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

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

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

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

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

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

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

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

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

ビルド所要時間の見積もり

TeamCity は、同じビルド構成の完了済みビルドに基づいて、キューに入っているビルドと実行中のビルドの所要時間を見積もります。 これらの見積もりは、予想される開始時刻と終了時刻の計算、実行中のビルドの残り時間の表示、ハングしたビルドの検出、ビルドキューの最適化と並べ替え、最速のエージェントの選択に使用されます。

ビルド構成が異なる有効設定で実行される場合、TeamCity は同じ設定を持つ最近のビルドを探します。 有効設定には、 カスタムビルドを実行ダイアログで指定されたカスタムパラメーター値と、ワークロードに影響する可能性があるその他のビルド構成設定が含まれます。

TeamCity が、所要時間が一貫している一致するビルドを十分に見つけた場合 (デフォルトでは 5 件のビルド)、その一致した履歴を見積もりに使用します。 それ以外の場合、ビルド構成全体の最近の履歴にフォールバックします。 その結果、新しい、またはまれにしか使用されない設定の組み合わせにも一般的な見積もりが適用され、繰り返し使用されるバリアントには徐々に独自の履歴に基づく見積もりが適用されます。

完了済みで、個人用ではなく、キャンセルされていないビルドのみが考慮されます。 TeamCity が互換性のあるエージェントを比較する際には、各エージェントに関連する履歴も使用します。 同じクラウドイメージから起動されたクラウドエージェントはこの履歴を共有するため、新しく起動されたエージェントは、そのイメージの以前のエージェントによって収集された所要時間データを再利用できます。

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

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

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

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

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

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

キュー内のビルドに対するエージェントの選択

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

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

  2. ビルドが以前にエージェントで実行されている場合、TeamCity は各エージェントに関連する履歴を使用して、 推定ビルド所要時間によって互換性のあるエージェントを比較します。 同じクラウドイメージから起動されたクラウドエージェントは、この履歴を共有します。 見積もりが同一の場合、TeamCity は CPU ランクを使用します。

ビルドキューの並べ替え

TeamCity ユーザーは、キューに入っているビルドを次のように管理できます:

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

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

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

キュー内のビルドの並べ替え

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

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

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

    一番上のアクションへ移動

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

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

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

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

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

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

ビルド優先度の管理

デフォルトでは、ビルドはトリガーされた順にビルドキューに配置されます: 最も新しくトリガーされたビルドはキューの末尾に追加されます。 ビルドの優先度を変更して、定義された優先度と現在キュー内にあるビルドの待機時間に応じた位置に、ビルドがビルドキューへ挿入されるようにできます。

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

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

構成の優先順位

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

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

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

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

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

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

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

カスタム優先クラスを構成する

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

ビルド優先度アルゴリズム

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

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

buildPriority = (timeSpentInTheQueue / estimatedBuildDuration) + buildConfigurationPriority

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

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

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

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

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

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

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

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

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

2026 年 9 月 11 日