ビルド構成テンプレート
構成テンプレートを作成するを使用すると、ビルド構成設定の重複を排除できます。 類似した (必ずしも同一ではない) ビルド構成が複数あり、各構成を編集せずに 1 か所で共通設定を変更できるようにするには、それらの設定を含むビルド構成テンプレートを作成します。 テンプレート設定を変更すると、このテンプレートに関連付けられている すべて のビルド構成に影響します。
プロジェクトとそのサブプロジェクト内のすべてのビルド構成に対して、プロジェクト内のデフォルトテンプレートを定義することができます。 詳細については、 以下のセクションを参照してください。
ビルド構成テンプレートはプロジェクト階層をサポートします。作成すると、使用可能なテンプレートには現在のプロジェクトとその親のテンプレートが含まれます。 プロジェクトまたはビルド構成をコピーすると、ターゲットプロジェクトまたはその親のいずれにも属していないテンプレートが自動的にコピーされます。 テンプレートが現在のプロジェクトまたはその親のいずれかに属している場合にのみ、ビルド構成をテンプレートに関連付けることができます。
ビルド構成テンプレートの作成
ビルド構成テンプレートを手動で作成することも、既存の構成から抽出することもできます。
テンプレートを手動で作成する
テンプレートの作成は、 手動で タイルを使用してビルド構成を作成するのと同じです。
構成からテンプレートを抽出する
参照として使用したいビルド構成がすでにある場合は、そこからテンプレートを抽出できます。
ビルド構成設定を開きます。
右上隅の アクション メニューを開き、 テンプレートを抽出… をクリックします。

設定名を入力し、 抽出 をクリックします。 テンプレート ID は自動生成された値をそのまま使用できます。
ソース構成が新しいテンプレートを最初に使用します。 ソース構成を独立させておくには、 切り離す をクリックします。 それ以外の場合、テンプレートへの変更は、この構成と、それを基にした他のすべての構成に適用されます。

プロジェクトのデフォルトテンプレートの定義
デフォルトのテンプレートを使用すると、このプロジェクトとそのサブプロジェクト内のすべてのビルド構成に影響を与えることができます。
デフォルトテンプレート ドロップダウンメニューからテンプレートを選択することにより、プロジェクト管理の 一般設定 ページを使用して、プロジェクトのすべてのビルド構成をデフォルトのテンプレートに関連付けることができます。 このオプションは、プロジェクトまたはその親で少なくとも 1 つのテンプレートが定義されている場合に使用できます。 新しいビルド構成はすべて、デフォルトのテンプレート設定を継承します。
既存の構成の設定は保持されます。
定義されている場合、他のデフォルトテンプレートがサブプロジェクトで定義されていない限り、デフォルトテンプレートはこのプロジェクトのすべてのビルド構成とサブプロジェクトに影響します。 デフォルトのテンプレートを使えば、すべてのプロジェクトのビルド設定を簡単に変更できます。
特定のビルド機能をプロジェクトのすべてのビルド構成に追加します
すべてのビルド構成を特定のチェックアウトモードに切り替えます
デフォルトの障害状態を提供する
関連する設定変更
プロジェクト構成スキーマは、デフォルトのテンプレートに対応しています。
XML:
project-config.xmlファイルには<デフォルトテンプレート 参照="...." />要素が含まれています。DSL: プロジェクト構成に
デフォルトテンプレート = "..."メソッドが含まれています。 デフォルトのテンプレートが構成されたサンプルプロジェクト構成を参照してください。
ビルド構成とテンプレートの関連付け
既存のビルド構成を任意の数だけテンプレートに関連付け/添付できます: 画面右上の アクション ボタンから テンプレートにアタッチ オプションを使用できます。
既存のビルド構成をテンプレートに関連付けると、ビルド構成はテンプレートで定義されている すべての設定 を継承し、競合がある場合は、テンプレートの設定がビルド構成の設定よりも優先されます (依存関係、パラメーター、要件を除く)。 テンプレートから継承した設定は 上書きできます。
テンプレートが現在のプロジェクトまたはその親のいずれかに属している場合にのみ、ビルド構成をテンプレートに関連付けることができます。 関連付けられたビルド構成が少なくともひとつあるテンプレートは削除できません。関連付けられたビルド構成を先に切り離す必要があります。
ビルド構成を複数のテンプレートに関連付けることも可能です。
ビルド構成と複数テンプレートの関連付け
テンプレートに添付アクションメニューを使用して、ビルド構成を複数のテンプレートに添付できます。 アクション メニューでは、 テンプレートを管理 アクションによりユーザーは次のことができます。
テンプレートの順序を変更します。これにより、重複する設定の優先度とビルドステップの順序に影響します。リスト内で上位にあるテンプレートの設定が優先されます。 ビルド構成にアタッチされたテンプレート間で重複している場合、パラメーター名、設定 ID (ビルドステップ、トリガー、機能、アーティファクト依存関係、要件用)、VCS ルート、またはスナップショット依存関係のソースビルド構成 ID などのエンティティに影響します。
一部のテンプレートからビルド構成をデタッチします(ユーザーはそれらをデタッチするようにマークしてから、変更を適用する必要があります)。
同じダイアログウィンドウでそれぞれ名前の付いたボタンを使用して、すべてのテンプレートからビルド構成をデタッチします。
ビルド構成設定 ページでビルド構成に添付されているすべてのテンプレートを表示できます。
ビルド構成がアタッチされているすべてのテンプレートの設定は継承され、 ビルド構成設定 ページの表示 / 編集で継承元を表示できます。
ビルド構成がそのテンプレートの一部からデタッチされると、それらから継承されたすべての有効な(構成でオーバーライドされず、優先度の高いテンプレートによってオーバーラップされない)設定が構成にコピーされます。 ビルド構成ロジックのコピーは、テンプレートの抽出と同じです。 ビルド構成 / プロジェクトを移動すると、ロジックはビルド構成がアタッチされているすべてのテンプレートをチェックします。
関連する設定変更
XML: ビルド構成が単一のテンプレートに添付されている場合、結果の構成 XML 形式は以前と同じままです(
設定エレメントの参照属性)。 多数のテンプレートに添付されている場合、それらへの参照は、次のように設定ノードの個別の要素に保存されます。
DSL: Kotlin DSL が拡張されたため、ビルド構成定義内で、ユーザーは外部 ID または DSL テンプレートインスタンスのいずれかを受け入れる
テンプレート(vararg)メソッドを使用できます (ただし、それらを混在させることはできません。同じ構成で DSL 内外で定義されたテンプレートを使用する場合は、両方の外部 ID を使用する必要があります)。
古いテンプレート(...)メソッドとプロパティ できません は、同じビルドタイプ定義内で複数回使用して、複数のテンプレートから継承されていることを示せます。以前の実装に従い、このメソッドを使用するたびに、以前のテンプレート外部 ID がオーバーライドされます。 下位互換性のために保持されています。
ビルド構成のテンプレートからの切り離し
ビルド構成をテンプレートから切り離すときに、 テンプレートからデタッチ オプションを使用します。このオプションは、 アクション メニューの ビルド構成設定 ページで使用できます。テンプレートのすべての設定がビルド構成にコピーされ、編集用に有効化されます。
ビルド構成が複数のテンプレートに関連付けられている場合、 テンプレートからデタッチ オプションは使用できなくなります。代わりに テンプレートを管理 を使用してください。
テンプレートから継承した設定の再定義
テンプレートに関連付けられたビルド構成は、そのすべての設定を継承します (UI で 継承済みとしてマークされます)。 継承された設定は関連付けられたビルド構成から削除できませんが、継承されたビルドステップ、トリガー、ビルド機能、失敗条件、アーティファクトの依存関係、エージェント要件は、そのビルド構成内で無効にすることができます。
テンプレートの設定を変更すると、このテンプレートに関連付けられている すべての構成 に影響しますが、関連付けられているビルド構成のほとんどの設定を再定義することは可能です。
ほぼすべてのビルド構成設定 (たとえば、ビルドステップ、 パラメーター、 ビルドオプション) を再定義できます。 唯一の例外は、 再定義できません スナップショット依存関係とチェックアウトルールです。
変更された設定は黄色の境界線でハイライトされ、 リセット ボタンが変更された設定の右側に表示され、テンプレートの元の設定への変更を元に戻すことができます。
ビルド構成で継承されたパラメーターを再定義すると、継承された名前と新しい値で保存されます。 その後、テンプレート内でこのパラメーターの名前を変更すると、ビルド構成内で元の名前と再定義された値を持つパラメーターと、テンプレートから継承された名前を変更したパラメーターの 2 つのパラメーターになります。
パラメーター参照の使用
上記のように設定を再定義する以外に、パラメーター参照を介して継承された設定の個々のフィールドを再定義できます。
構成パラメーターの参照を紹介するには、テンプレートのテキストフィールドに %\パラメーター名% 構文を使用します。 導入されると、このパラメーターは、値が必要であるとマークされているビルド構成テンプレートの パラメーター ページに表示されます。
パラメーターのデフォルト値を指定することも、値を指定しないでおくこともできます。 その後、テンプレートに関連付けられているビルド構成でパラメーターの実際の値を定義できます。
ビルドパラメーターの構成も参照してください。
構成パラメーターの使用箇所の例
チェックアウト規則によってのみ異なる 2 つの類似したビルド構成があるとします。 たとえば、最初の設定のチェックアウトルールには +:release_1_0 => 。 、2 番目の設定のチェックアウトルールには +:trunk => 。 を含める必要があります。 他のすべての設定は同じです。 両方のビルド構成に関連付けるテンプレートを 1 つ用意すると便利ですが、これは各ビルド構成のチェックアウト規則を別々に変更することを意味します。
これを行うには、以下の手順を実行します。
それらの構成の 1 つからテンプレートを抽出します。
テンプレート設定で、 バージョン管理設定 に移動し、VCS ルートの チェックアウトのルール ダイアログを開き、そこに入力します:
%\チェックアウトルール%継承ビルド構成の場合は、構成設定ページを開き、 パラメーター ページで
チェックアウトルール構成パラメーターの実際の値を指定します。2 番目のビルド構成では、 アクション の テンプレートに関連付け オプションを使用して、テンプレートを選択します。 テンプレートとの関連付けダイアログで
チェックアウトルールパラメーターに適切な値を指定します。 関連付け をクリックします。
結果として、異なるチェックアウト規則を持つ 2 つのビルド構成がありますが、1 つのテンプレートに関連付けられています。
これにより、設定パラメーターを作成して、テキストフィールドを持つ任意のビルド設定からそれを参照できます。
テンプレートで事前ステップと事後ステップを使用する機能
テンプレートに共通のビルドステップを定義して、そのステップがすべてのビルド構成ステップの前または後に実行されるようにする必要が生じる場合があります。
特定のテンプレートでは、このようなステップを定義し、ビルド構成ステップに対する配置を指定できます。 すべてのビルド構成ステップは、 ビルドステップの並べ替えダイアログでプレースホルダーとして表されます。 テンプレートステップは、このプレースホルダーの前、後、またはその両方に配置できます。

必要に応じて、テンプレートベースのビルド構成でビルド手順の順序をカスタマイズできます。
TeamCity ウェブ UI を使用すると、テンプレートステップに対するビルド構成ステップの配置を変更できます。
バージョン設定を使用すると、テンプレートのステップに対するビルド構成ステップの配置を変更できるだけでなく、テンプレート自体のステップの順序を変更することもできます。
テンプレートから継承した設定の強制適用
プロジェクト内のすべてのビルド構成に一部の設定を強制適用し、他のユーザーが再定義できないようにしたい場合、TeamCity はプロジェクト階層内のすべてのビルド構成に対してこの機能を提供します。 たとえば、強制設定を使用すると、 エージェント側のチェックアウトをどこにでも設定したり、すべてのビルド構成に厳密な 実行タイムアウトを設定したりすることができます。 現在、ビルド機能、オプション、パラメーターを適用することが可能です。 ビルド手順とビルド要件も適用できます。
プロジェクト階層にいくつかの設定を適用するには、これらの設定でテンプレートを作成します。 その後、システム管理者はこのテンプレートをプロジェクトの強制設定のテンプレートとして設定できます。

強制設定のテンプレートは、すべての設定がプロジェクト階層のビルド構成に継承されるため、デフォルトのテンプレートに似ています。 違いは、これらの継承された設定を無効にしたり上書きしたりできないことです。
プロジェクトを特定の強制設定のテンプレートに関連付けるには、システム管理者のロールが必要です。 テンプレート自体は、テンプレートが定義されているプロジェクトを管理できるプロジェクト管理者が編集できます。
実機能定のテンプレートがプロジェクトで指定されており、サブプロジェクトで実機能定として別のテンプレートが割り当てられている場合、サブプロジェクトのテンプレートの優先度が高くなります。