TeamCity オンプレミス 2026.1 ヘルプ

ビルド構成テンプレート

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

プロジェクトとそのサブプロジェクト内のすべてのビルド構成に対して、プロジェクト内のデフォルトテンプレートを定義することができます。詳細については、以下のセクションを参照してください。

ビルド構成テンプレートはプロジェクト階層をサポートします。いったん作成されると、利用可能なテンプレートには現在のプロジェクトとその親からのものが含まれます。プロジェクトまたはビルド構成をコピーすると、ターゲットプロジェクトまたはその親のいずれにも属していないテンプレートが自動的にコピーされます。テンプレートが現在のプロジェクトまたはその親のいずれかに属している場合にのみ、ビルド構成をテンプレートに関連付けることができます。

ビルド構成テンプレートを作成する

ビルド構成テンプレートを手動で作成することも、既存の構成から抽出することもできます。

テンプレートを手動で作成する

テンプレートの作成は、手動タイルを使用してビルド構成を作成するのと同じです。

  1. プロジェクト設定を開き、一般設定タブに移動します。

  2. 構成テンプレートの構築セクションまで下にスクロールし、テンプレートの作成をクリックします。

  3. テンプレート名と説明を入力し、作成をクリックします。

  4. このテンプレートから生成されるすべての構成に存在する必要がある設定を指定します。

構成からテンプレートを抽出する

参照として使用したいビルド構成がすでにある場合は、そこからテンプレートを抽出できます。

  1. ビルド構成設定を開きます。

  2. 右上隅のアクションメニューを開き、テンプレートの抽出 ... をクリックします。

    Configuration actions menu
  3. 設定名を入力し、抽出をクリックします。テンプレート ID は自動生成された値をそのまま使用できます。

  4. ソース構成が新しいテンプレートを最初に使用します。ソース構成を独立させておくには、切り離すをクリックします。それ以外の場合、テンプレートへの変更は、この構成と、それを基にした他のすべての構成に適用されます。

    Detach template from a config

プロジェクト用のデフォルトテンプレートの定義

デフォルトのテンプレートを使用すると、このプロジェクトとそのサブプロジェクト内のすべてのビルド構成に影響を与えることができます。

デフォルトテンプレートドロップダウンメニューからテンプレートを選択することにより、プロジェクト管理の一般設定ページを使用して、プロジェクトのすべてのビルド構成をデフォルトのテンプレートに関連付けることができます。このオプションは、プロジェクトまたはその親で少なくとも 1 つのテンプレートが定義されている場合に使用できます。新しいビルド構成はすべて、デフォルトのテンプレート設定を継承します。

既存の構成の設定は保持されます。

定義されている場合、他のデフォルトテンプレートがサブプロジェクトで定義されていない限り、デフォルトテンプレートはこのプロジェクトのすべてのビルド構成とサブプロジェクトに影響します。デフォルトのテンプレートを使えば、すべてのプロジェクトのビルド設定を簡単に変更できます。

  • 特定のビルド機能をプロジェクトのすべてのビルド構成に追加します

  • すべてのビルド構成を特定のチェックアウトモードに切り替えます

  • デフォルトの障害状態を提供する

関連設定の変更

プロジェクト構成スキーマは、デフォルトのテンプレートに対応しています。

  • XML: project-config.xml ファイルには <default-template ref="...." /> 要素が含まれています。

  • DSL: プロジェクト構成に defaultTemplate = "..." メソッドが含まれています。デフォルトのテンプレートが構成されたサンプルプロジェクト構成を参照してください。

object Project : Project({     uuid = "2b241ffb-9019-4e60-9a3a-d5475ab1f312"     extId = "ExampleProject"     parentId = "_Root"     name = "Example Project"     defaultTemplate = "ExampleProject_MyDefaultTemplate"     ...     features {         ...     }     ... })

ビルド構成をテンプレートに関連付ける

既存のビルド構成をテンプレートに関連付けると、ビルド構成はテンプレートで定義されているすべての設定を継承し、競合がある場合は、テンプレートの設定がビルド構成の設定よりも優先されます (依存関係、パラメーター、要件を除く)。テンプレートから継承した設定は上書きできます

テンプレートが現在のプロジェクトまたはその親のいずれかに属している場合にのみ、ビルド構成をテンプレートに関連付けることができます。少なくとも 1 つの関連するビルド構成を持つテンプレートは削除できません。最初に関連するビルド構成をデタッチする必要があります。

ビルド構成を複数のテンプレートに関連付けることも可能です。

ビルド構成を複数のテンプレートに関連付ける

テンプレートに添付アクションメニューを使用して、ビルド構成を複数のテンプレートに添付できます。アクションメニューでは、テンプレートを管理するアクションによりユーザーは次のことができます。

  • テンプレートの順序を変更します。これは、重複する設定の優先度とビルドステップの順序に影響します。優先度は、リストの上位にあるテンプレートの設定に与えられます。ビルド構成にアタッチされたテンプレート間で重複する場合、パラメーター名、ID の設定(ビルドステップ、トリガー、機能、アーティファクトの依存関係、要件)、VCS ルートまたはスナップショットの依存関係ソースビルド構成 ID などのエンティティに影響します。

  • 一部のテンプレートからビルド構成をデタッチします(ユーザーはそれらをデタッチするようにマークしてから、変更を適用する必要があります)。

  • 同じダイアログウィンドウでそれぞれ名前の付いたボタンを使用して、すべてのテンプレートからビルド構成をデタッチします。

ビルド設定ページでビルド構成に添付されているすべてのテンプレートを表示できます。

ビルド構成がアタッチされているすべてのテンプレートの設定は継承され、ビルド設定ページの表示 / 編集で継承元を表示できます。

ビルド構成がそのテンプレートの一部からデタッチされると、それらから継承されたすべての有効な(構成でオーバーライドされず、優先度の高いテンプレートによってオーバーラップされない)設定が構成にコピーされます。ビルド構成ロジックのコピーは、テンプレートの抽出と同じです。ビルド構成 / プロジェクトを移動すると、ロジックはビルド構成がアタッチされているすべてのテンプレートをチェックします。

  • XML: ビルド構成が単一のテンプレートに添付されている場合、結果の構成 XML 形式は以前と同じままです(settings エレメントの ref 属性)。多数のテンプレートに添付されている場合、それらへの参照は、次のように settings ノードの個別の要素に保存されます。

<inherits> <ref id="Template1_ExternalId" /> <ref id="Template2_ExternalId /> ..... </inherits>
  • DSL: Kotlin DSL は拡張されているため、ビルド構成定義内で、ユーザーは外部 ID または DSL テンプレートインスタンスのいずれかを受け入れる templates(vararg) メソッドを使用できます (ただし、それらの混在はできません。DSL の内側と外側の両方で定義されたテンプレートが同じ構成で使用される場合は、両方の外部 ID を使用する必要があります)。
    古い template(...) メソッドとプロパティは、複数のテンプレートから継承されていることを示すために、同じビルド型定義内で複数回使用することはできません。: 以前の実装に従い、このメソッドが使用されるたびに、以前のテンプレートの外部 ID が上書きされます。これは下位互換性のために保持されています。

テンプレートからビルド構成をデタッチする

ビルド設定ページのアクションメニューで使用可能なテンプレートから切り離すオプションを使用してテンプレートからビルド構成を切り離すと、テンプレートのすべての設定がビルド構成にコピーされ、編集できるようになります。
ビルド構成が複数のテンプレートにアタッチされている場合、テンプレートから切り離すオプションは使用できなくなるため注意してください。代わりにテンプレートを管理するを使用してください。

テンプレートから継承した設定の再定義

テンプレートに関連付けられたビルド構成は、そのすべての設定を継承します (UI で継承済みとしてマークされます)。継承された設定は関連付けられたビルド構成から削除できませんが、継承されたビルドステップ、トリガー、ビルド機能、失敗条件、アーティファクトの依存関係、エージェント要件は、そのビルド構成内で無効にすることができます。

テンプレートの設定を変更すると、このテンプレートに関連付けられているすべての構成に影響しますが、関連付けられているビルド構成のほとんどの設定を再定義することは可能です。

ほぼすべてのビルド構成設定 (ビルドステップ、パラメータービルドオプションなど) を再定義できます。唯一の例外は、再定義できないスナップショット依存関係とチェックアウトルールです。

変更された設定は黄色の境界線でハイライトされ、リセットボタンが変更された設定の右側に表示され、テンプレートの元の設定への変更を元に戻すことができます。

ビルド構成で継承されたパラメーターを再定義すると、継承された名前と新しい値で保存されます。その後、テンプレート内でこのパラメーターの名前を変更すると、ビルド構成内で元の名前と再定義された値を持つパラメーターと、テンプレートから継承された名前を変更したパラメーターの 2 つのパラメーターになります。

パラメーター参照を使用する

上記のように設定を再定義する以外に、パラメーター参照を介して継承された設定の個々のフィールドを再定義できます。

構成パラメーターの参照を紹介するには、テンプレートのテキストフィールドに %ParameterName% 構文を使用します。導入されると、このパラメーターは、値が必要であるとマークされているビルド構成テンプレートのパラメーターページに表示されます。

パラメーターのデフォルト値を指定することも、値を指定しないでおくこともできます。その後、テンプレートに関連付けられているビルド構成でパラメーターの実際の値を定義できます。

ビルドパラメーターの設定も参照してください。

設定パラメーターの使用例

チェックアウト規則によってのみ異なる 2 つの類似したビルド構成があるとします。たとえば、最初の設定のチェックアウトルールには +:release_1_0 => .、2 番目の設定のチェックアウトルールには +:trunk => . を含める必要があります。他のすべての設定は同じです。両方のビルド構成に関連付けるテンプレートを 1 つ用意すると便利ですが、これは各ビルド構成のチェックアウト規則を別々に変更することを意味します。

これを行うには、以下の手順を実行します。

  1. それらの構成の 1 つからテンプレートを抽出します。

  2. テンプレート設定で、バージョン管理設定に移動し、VCS ルートのチェックアウト規則ダイアログを開き、そこに入力します: %checkout.rules%

  3. 継承ビルド構成の場合は、構成設定ページを開き、パラメーターページで checkout.rules 構成パラメーターの実際の値を指定します。

  4. 2 番目のビルド構成では、アクションテンプレートと関連付けるオプションを使用して、テンプレートを選択します。テンプレートとの関連付けダイアログで checkout.rules パラメーターに適切な値を指定します。関連付けをクリックします。

結果として、異なるチェックアウト規則を持つ 2 つのビルド構成がありますが、1 つのテンプレートに関連付けられています。

これにより、設定パラメーターを作成して、テキストフィールドを持つ任意のビルド設定からそれを参照できます。

テンプレートに前後のステップを含める機能

場合によっては、テンプレートに共通のビルドステップを定義して、このステップがすべてのビルド構成ステップの前または後に実行されるようにする必要があります。
特定のテンプレートに対して、このようなステップを定義し、ビルド構成ステップに対する配置を定義することができます。すべてのビルド構成ステップは、ビルド手順を並べ替えるダイアログでプレースホルダーとして表されます。テンプレートステップは、このプレースホルダーの前または後に配置できます。

Reorder build steps

必要に応じて、テンプレートベースのビルド構成でビルド手順の順序をカスタマイズできます。

  • TeamCity Web UI を使用すると、テンプレートステップに関してビルド構成ステップの配置を変更できます。

  • バージョン設定を使用すると、テンプレートのステップに対するビルド構成ステップの配置を変更できるだけでなく、テンプレート自体のステップの順序を変更することもできます。

テンプレートから継承した設定を強制する

プロジェクト内のすべてのビルド構成にいくつかの設定を適用して、他のユーザーが再定義できないようにする場合、TeamCity は、プロジェクト階層内のすべてのビルド構成にこの機能を提供します。たとえば、強制設定を使用すると、エージェント側のチェックアウトをどこにでも設定したり、すべてのビルド構成に厳密な実行タイムアウトを設定したりすることができます。現在、ビルド機能、オプション、パラメーターを適用することが可能です。ビルド手順とビルド要件も適用できます。

プロジェクト階層にいくつかの設定を適用するには、これらの設定でテンプレートを作成します。その後、システム管理者はこのテンプレートをプロジェクトの強制設定のテンプレートとして設定できます。

Enforced settings template

強制設定のテンプレートは、すべての設定がプロジェクト階層のビルド構成に継承されるため、デフォルトのテンプレートに似ています。違いは、これらの継承された設定を無効にしたり上書きしたりできないことです。

プロジェクトを特定の強制設定のテンプレートに関連付けるには、システム管理者のロールが必要です。テンプレート自体は、テンプレートが定義されているプロジェクトを管理できるプロジェクト管理者が編集できます。

実機能定のテンプレートがプロジェクトで指定されており、サブプロジェクトで実機能定として別のテンプレートが割り当てられている場合、サブプロジェクトのテンプレートの優先度が高くなります。

2025 年 5 月 27 日

関連ページ:

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

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

ビルドステップの設定

ビルドステップは、CI/CD ワークフローの最小単位です。ビルドステップは、全体として実行される一連のアクションを定義します。ビルドステップは、ビルド構成とパイプラインジョブに属します。構成とパイプラインのビルドステップ:TeamCity は、.NET、Maven、NAnt、Xcode などの特定のビルドツール用に設計された幅広いビルドステップを提供します。現在、ビルド構成ではすべてのステップが利用可能です。バージョン 2025.07 で導入された

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

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

ビルドトリガーの設定

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

ビルド構成の作成と編集

ビルド構成とパイプラインは、実際の CI/CD ルーチンを表します。ビルド構成には、一連のビルドステップ(ビルド実行中に実行される基本操作)と、これらのステップの実行に必要な設定が格納されます。これらの設定には以下が含まれます。構成の動作をすばやく変更できるパラメーター。特定の条件が満たされたときに TeamCity が自動的に新しいビルドを開始できるようにするトリガー。構成の機能を拡張する機能を構築します。特定のビルドエージェントで構成ビルドを実行できるようにするエージェント要件。その他。ビル...

バージョン管理でのプロジェクト設定の保存

TeamCity では、プロジェクト設定をバージョン管理リポジトリ(VCS)と同期できます。サポートされている VCS は、Git、Mercurial、Perforce、Subversion、Azure DevOps Server(旧 TFS)です。プロジェクト設定を XML 形式または Kotlin 言語で保存し、Kotlin ベースの DSL を使用してプログラムで設定を定義できます。重要なポイント:この機能は何をしますか ? 個々のプロジェクトの設定を XML または Kotlin 形式でリモ...