一般設定を構成する
一般的なビルド構成設定
ビルド構成を作成するときは、次の設定を指定してください。
設定 | 説明 |
|---|---|
名前 | ビルド構成名。 |
ビルド構成 ID | システム内のすべてのビルド構成とテンプレートにわたる構成の一意の ID は、ビルド構成名から自動的に生成されますが、手動で設定することもできます。 |
説明 | ビルド構成のオプションの説明。 |
ビルド番号の形式 | ビルド開始時に解決され、ビルド番号に割り当てられるパターン。 |
ビルドカウンター | ビルド番号付けに使用されるカウンターを指定してください。各ビルドはビルドカウンターを 1 増加させます。リセットリンクを使用してカウンター値を 1 に戻します。 |
アーティファクトを公開する | アーティファクトをいつ公開するかを選択します。
この設定は、ビルドスクリプトで構成されたアーティファクトの公開には影響しません。 |
ビルドのアーティファクトを定義するパターン。最初のビルドが実行された後、エージェントのチェックアウトディレクトリを参照してアーティファクトのパスを構成できます。 | |
このビルド構成のビルドに追加オプションを指定してください。 |
ビルド番号の形式
ビルド番号の形式フィールドでは、ビルド開始時に解決され、ビルド番号に割り当てられるパターンを指定できます。
このパターンでは、以下の置換がサポートされています。
パターン | 説明 |
|---|---|
| 各ビルド構成に固有のビルドカウンター。TeamCity によって維持され、新しいビルドの開始ごとに次の整数値に解決されます。カウンターの現在の値は、ビルドカウンターフィールドで編集できます。 |
| |
| 対応する名前のビルドプロパティの値。すべての定義済みのビルドパラメーターがサポートされています(参照専用サーバーのプロパティを含む)。 |
必須ではありませんが、ビルド番号が一意であることを確認することを強くお勧めします。ビルド番号にビルドカウンターを含め、ビルドカウンターを小さい値にリセットしないでください。ビルドスクリプト内からビルド番号を変更することもできます。詳細については、TeamCity とスクリプトの相互作用を構築するを参照してください。
アーティファクトパス
アーティファクトのビルドは、ビルドによって生成されたファイルであり、TeamCity サーバーに保存され、TeamCity UI からダウンロードしたり、他のビルドによってアーティファクトの依存関係として使用したりできます。ビルド構成の一般設定ページで、ビルド後にサーバーにアップロードされるエージェント上のファイルのパターンを指定できます。
エージェントのビルドが完了したら、チェックアウトディレクトリブラウザー
(エージェント上のチェックアウトディレクトリの内容を一覧表示)を使用して、ツリーからアーティファクトを選択できます。TeamCity はそれらへのパスを入力フィールドに配置します。
アーティファクトパスフィールドは、相対(ビルドチェックアウトディレクトリへの)パスと絶対パスをサポートします。相対パスを使用することをお勧めします。正確なファイルパスまたはパターンを 1 行に 1 つずつ指定するか、コンマ区切りで指定できます。パターンは、* および ** ワイルドカードをサポートします(以下を参照)。各行は、ビルドするアーティファクトとして公開するファイルまたはディレクトリを含める [+:]source [=> target] および除外する -:source [=> target] の形式にすることができます。角括弧で囲まれた部品はオプションです。ルールは適切な部分ごとにグループ化され、出現順に適用されます。
directory1 を除くすべてのファイルを target_directory に公開するよう TeamCity に指示します。
行フォーマットの説明
ソース部分では絶対パスがサポートされていますが、ビルドチェックアウトディレクトリからの相対パスを使用することをお勧めします。
file_name— ファイルを公開します。名前は、ビルドチェックアウトディレクトリに関連している必要があります。directory_name— 指定されたディレクトリ内のすべてのファイルとサブディレクトリを公開します。ディレクトリ名は、ビルドチェックアウトディレクトリからの相対パスである必要があります。ファイルは、指定されたディレクトリのディレクトリ構造を保持して公開されます(ディレクトリ自体は含まれません)。wildcard— アリのようなワイルドカードパターンに一致するファイルを公開します (*および**ワイルドカードのみがサポートされています)。ワイルドカードは、ビルドチェックアウトディレクトリへの相対パスを表す必要があります。ファイルは、ワイルドカードに一致するディレクトリの構造を保持して公開されます (「静的」テキストに一致するディレクトリは作成されません)。つまり、TeamCity は、パターン内のワイルドカードの最初の出現からディレクトリを作成します。アーティファクトの仕様でビルドパラメーターを使用できます。例:
mylib-%system.build.number%.zipを使用して、名前にビルド番号が含まれるファイルを参照します。
=> シンボルで始まり、ターゲットディレクトリ名が続くオプション部分を使用すると、指定されたターゲットディレクトリにファイルを公開できます。ターゲットディレクトリを省略すると、ファイルはビルドアーティファクトのルートに公開されます。ビルドチェックアウトディレクトリへの参照として、. (ドット) を使用できます。
ターゲットパスは絶対パスにできません。相対パス以外を使用すると、ビルド中にエラーが発生します。
target_directory— (オプション)パターンの左側で決定されたファイルを含む、結果のビルドのアーティファクト内のディレクトリ。target_archive— (オプション)パターンの左側で決定されたビルドアーティファクトをパックすることによって TeamCity によって作成されるアーカイブへのパス。TeamCity は、サポートされているアーカイブ拡張子、つまり.zip、.7z、.jar、.tar.gzまたは.tgzで終わる場合は常に、パターンの右側の部分をtarget_archiveとして扱います。
シンボリックリンクの公開
シンボリックリンク (シンボリックリンクまたはソフトリンク) は、他のファイルまたはディレクトリを指し、それらの絶対パスまたは相対パスを表す Linux ファイルです。ビルドアーティファクトとして公開する必要があるディレクトリにシンボリックリンクが含まれている場合は、次の 2 つのモードのいずれかを選択できます。
公開されたアーカイブには、シンボリックリンクがシンボリックリンクとして含まれています。これはデフォルトの動作です。アーティファクトパスを
teamcity:symbolicLinks属性で明示的に装飾して、この動作を強制できます。#teamcity:symbolicLinks=as-is %teamcity.build.checkoutDir%/build=>build.zip公開されたアーカイブには、シンボリックリンクによって参照されるファイルとフォルダーが含まれます。この動作を有効にするには、次のようにアーティファクトルールを
teamcity:symbolicLinks属性で修飾します。#teamcity:symbolicLinks=inline %teamcity.build.checkoutDir%/build=>build.zip
属性は、その直下で宣言されたアーティファクト公開ルールのみに影響することに注意してください。例: 以下のサンプルでは、アーカイブ _A のみにシンボリックリンクによって参照されるファイルとフォルダーが含まれます。アーカイブ _B はデフォルトの動作を採用し、シンボリックリンクをファイルとして組み込みます。
アーティファクトパスの例
install.zip— ビルドアーティファクトでinstall.zipという名前のファイルを公開します。dist— dist ディレクトリのコンテンツを公開します。target/*.jar— ターゲットディレクトリにあるすべてのjarファイルを公開します。target/**/*.txt=> docs— ターゲットディレクトリとそのサブディレクトリにあるすべての txt ファイルを公開します。これらのファイルは、docsディレクトリのビルドアーティファクトで利用できます。reports => reports, distrib/idea*.zip— レポートディレクトリを、idea*.zipに一致するレポートおよびファイルとしてdistribディレクトリからアーティファクトルートに公開します。必要に応じて、zip アーカイブ内の相対パス
results\result1\Dir1\Dir2 => archive.zip!results/result1/Dir1を使用できます。同じ
target_archive名を複数回使用できます。例:+:*/*.html => report.zip+:*/*.css => report.zip!/css/-:*/*.txt => report.zip
ビルドオプション
以下のオプションは構成を構築するために利用可能です:
ハングしているビルドの検出
おそらく「ハングしている」ビルドを検出するには、ハングしているビルドの検出を使用可能にするオプションを選択します。ビルドの実行時間が推定平均実行時間を大幅に超過し、推定値を超えてからビルドがメッセージを送信していない場合、ビルドは「ハングしている」とみなされます。ハングしているビルドを適切に検出するには、TeamCity は複数のビルドに基づいてビルドの平均実行時間を推定する必要があります。新しいビルド構成がある場合は、ビルドを数回実行した後にこの機能を有効にすると、TeamCity が平均実行時間を推定するのに十分な情報を得ることができます。
個人用ビルドの開始を許可
個人用ビルドのトリガーを許可するオプションのチェックを外すと (デフォルトではオン)、個人用ビルドの実行を制限できます。
ステータスウィジェットを有効にする
このオプションを使用すると、ユーザー認証を必要とせずに、ビルド構成内の最後のビルドのステータスと基本的な詳細を取得できます。これにより、ビルド構成内の特定のビルドのステータスを取得することもできます(ただし、ビルドを一覧表示することはできず、ビルドステータス(success/failure/internal error/cancelled)以外の情報は利用できません)。
ステータスは、以下で説明する HTML ステータスウィジェットを介して、または単一のアイコンを介して取得できます。REST API を使用するか、ビルド構成ホームのアクションメニューを使用します。
HTML ステータスウィジェット
この機能を使用すると、会社の Web サイト、Wiki、Confluence、その他の Web ページで現在のプロジェクトステータスの概要を把握できます。
ステータスウィジェットを有効にするオプションを有効にすると、HTML スニペットを外部 Web ページに含めることができ、現在のビルド構成ステータスが表示されます。
ビルドステータスアイコンを単一のイメージとして表示するには、REST ビルド状況アイコンをチェックしてください。
以下のビルドプロセス情報がステータスウィジェットによって提供されます。
最新のビルド結果
ビルド番号
ビルド状況
最新のビルドアーティファクトへのリンク。ステータスウィジェットは、ユーザーが TeamCity にログインすることを要求しません。
この機能が有効になっているときは、Web ページのソースに次のコードを含める必要があります。
このコードサンプルを
<head>セクションに追加します(または、withCss=trueパラメーターを externalStatus.html に追加します)。<style type="text/css"> @import "<TeamCity_server_URL>/css/status/externalStatus.css"; </style>ビルド構成のステータスを表示する場所にこのコードサンプルを挿入します。
<script type="text/javascript" src="<TeamCity_server_URL>/externalStatus.html?js=1"> </script>JavaScript の代わりにプレーン HTML を使用する場合は、
js=1パラメーターを省略し、スクリプトの代わりにiframeを使用します。<iframe src="<TeamCity_server_URL>/externalStatus.html"/><head>セクションを変更せずにデフォルトの CSS スタイルを含める場合は、withCss=trueパラメーターを追加します。
特定のビルド構成に関する最新のステータス情報を提供するには、URL で次のパラメーターを必要な回数だけ使用します。&buildTypeId=<external build configuration ID>
&[buildTypeId](identifier.md)=<external build configuration ID> を &[projectId](identifier.md)=<external project ID> に置き換えることで、すべてのプロジェクトビルド構成のステータスを表示することもできます。これらのパラメーターの組み合わせを選択して、必要なプロジェクトを表示したり、Web ページに構成を構築したりできます。
externalStatus.css ファイルをダウンロードしてカスタマイズすることもできます (たとえば、display: none を使用して一部の列を無効にすることができます。externalStatus.css のコメントを参照してください)。ただし、この場合は、withCss = true パラメーターを含めるためはなく、代わりに <head> セクションで CSS スタイルを明示的に指定する必要があります。
同時実行ビルド数の制限
すべてのエージェントで同時に実行できるビルドの数を制限できます。このオプションは、ビルドへのリソースの割り当てを改善し、すべてのエージェントが単一のプロジェクトのビルドでビジー状態になる状況を回避できます。
関連フィールドを使用して、ビルド構成のビルドの総数を制限し、ブランチごとに詳細な制限を構成できます。
ビルド構成の場合は、ビルドの合計最大数を入力します。この数はデフォルトで 0 に設定されており、無制限の数のビルドを同時に実行できます。
ブランチごとのビルド制限については、改行で区切られたルールのリストを入力します。各ルールは
branch:numberパターンに従う必要があります。ここで、branchは論理ブランチ名または * を含むパターンのいずれかであり、numberはパターンに一致する各ブランチで同時に実行できるビルドの最大数を指定します。0 は、指定されたブランチで無制限の数のビルドを許可します。
関連ページ:
エンティティ ID
ID は、TeamCity エンティティ (プロジェクト、ビルド構成、テンプレート、VCS ルートなど) に付与される識別子です。各エンティティには 2 つの識別子があります。外部 ID、普遍的にユニークな ID または UUID、外部 ID:いわゆる外部識別子は、TeamCity Web UI (プロジェクト ID など) で構成され、サーバー全体の同じタイプのすべてのオブジェクト内で一意である必要があります。ビルド構成とテンプレートは同じ ID スペースを共有します。ID はラテン文字で始まり、...
サービスメッセージ
サービスメッセージは、ビルドに関するコマンド / 情報をビルドスクリプトから TeamCity サーバーに渡す特別に構成されたテキストです。TeamCity、それらはビルドの標準出力ストリームに書き込まれる必要があり、ビルドステップから出力またはエコーされますによって処理されます。例:echo ##teamcity[<messageName> 'value']echo
ビルドパラメーターの設定
パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は次の 3 種類のパラメーターをサポートします。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...
パーソナルビルドの実行
個人ビルドは、通常、バージョン管理にまだコミットされていない変更を使用する共通ビルドシーケンスからのビルドです。個人ビルドは通常、サポートされている IDE の 1 つからリモート実行プロシージャを介して開始されます。カスタムビルドを実行するダイアログから個人ビルドを開始し、変更を加えたパッチをサーバーに直接アップロードすることもできます。個人ビルドには対応するアイコンが付いており、ビルドを開始したユーザーのみに表示されます。他の TeamCity ユーザーの個人ビルドを表示するには、ユーザープロ...
機能ブランチを使用した作業
分散バージョン管理システム (DVCS) の機能ブランチを使用すると、メインの開発とは独立して機能に取り組み、機能のすべての変更をブランチにコミットし、機能が完了したら変更をメインのブランチにマージできます。このアプローチは、ソフトウェア開発チームに多くの利点をもたらしますが、専用のサポートがない継続的インテグレーションサーバーでは、ビルド構成の重複が頻繁に発生したり、可視性が低下したり、最終的にはプロセスに対する制御が失われるなど、多くの問題も発生します。機能ブランチの TeamCity サポ...
ビルド構成の作成と編集
ビルド構成とパイプラインは、実際の CI/CD ルーチンを表します。ビルド構成には、一連のビルドステップ(ビルド実行中に実行される基本操作)と、これらのステップの実行に必要な設定が格納されます。これらの設定には以下が含まれます。構成の動作をすばやく変更できるパラメーター。特定の条件が満たされたときに TeamCity が自動的に新しいビルドを開始できるようにするトリガー。構成の機能を拡張する機能を構築します。特定のビルドエージェントで構成ビルドを実行できるようにするエージェント要件。その他。ビル...