TeamCity 2019.1ヘルプ

一般設定を構成する

ビルド構成を作成するときは、次の設定を指定してください。

設定

説明

名前

構成名

ビルド構成ID

システム内のすべてのビルド構成およびテンプレートにわたる構成の固有のIDは、ビルド構成名から自動的に生成されますが、手動で設定することもできます。
必ずグローバルに一意なIDをビルド設定に付けて、その前にプロジェクトIDを付けてください。
ビルド構成が作成された後、そのIDは変更される可能性があるため、Web UIへのブックマークされたリンクおよびIDを使用したREST APIへの呼び出しに対応する変更を加えることを強くお勧めします。

説明

ビルド構成のオプションの説明。

ビルド番号の形式

解決され、ビルド開始時にビルド番号に割り当てられるパターン。

ビルド・カウンター

ビルド番号付けに使用されるカウンターを指定してください。各ビルドはビルドカウンターを1増加させます。リセットリンクを使用してカウンター値を1に戻します。

アーティファクトを公開する

成果物をいつ公開するかを選択します。

  • "ビルドが失敗しても"(デフォルト):前のステップがすべて完了したかどうかにかかわらず、ビルドの最後のステップで成果物を公開します。

  • "ビルドステータスが成功した場合のみ":前のステップがすべて正常に完了した場合は、ビルドの最後のステップで成果物を公開します。TeamCityは、成果物を公開する前に、サーバー上の現在のビルド状況を確認します。

  • "build stopコマンドが発行された場合でも常に":中断されたものであっても(すべてのビルドについて成果物を公開します(たとえば、stop コマンドが発行された後、またはビルド失敗条件で指定されたタイムアウト後)。

この設定は、ビルドスクリプトで設定されたアーティファクトの公開には影響しません。

アーティファクトパス

ビルドの成果物を定義するためのパターン。最初のビルドが実行されたら、エージェントのチェックアウトディレクトリーを参照してアーティファクトパスを設定できます。

ビルド・オプション

このビルド構成のビルドに追加オプションを指定してください。

ビルド番号の形式

ビルド番号の形式フィールドでは、ビルド開始時に解決されビルド番号に割り当てられるパターンを指定できます。

このパターンでは、以下の置換がサポートされています。

パターン

説明

%build.counter%

各ビルド構成に固有のビルドカウンター。これはTeamCityによって維持され、新しいビルドが始まるたびに次の整数値に解決されます。カウンタの現在の値はビルドカウンターフィールドで編集できます。

%build.vcs.number.<VCS_root_name>%

<VCS_root_name> 名でVCSルートのビルドに使用されたリビジョン。プロパティー上のさらに読み込む

%property.name%

対応する名前のbuildプロパティーの値。すべての定義済みのビルドパラメータがサポートされています(参照専用サーバーのプロパティーを含む)。

必須ではありませんが、ビルド番号が一意であることを確認することを強くお勧めします。ビルド番号にビルドカウンタを含めてください。ビルドカウンタを小さい値にリセットしないでください。ビルドスクリプト内からビルド番号を変更することも可能です。詳細はTeamCityとスクリプトの相互作用を構築するを参照ください。

アーティファクトパス

ビルド成果物は、TeamCityサーバーに保存されているビルドによって作成されたファイルで、TeamCity Web UIからダウンロードすることも、他のビルドによって成果物依存関係として使用することもできます。ビルド構成の一般設定ページでは、ビルド後にサーバーにアップロードされるエージェント上のファイルのパターンを指定できます。

エージェントのビルドが完了したら、チェックアウトディレクトリーブラウザ chechoutdirBrowser.png (エージェント上のチェックアウトディレクトリーの内容を一覧表示)を使用して、ツリーから成果物を選択できます。TeamCityはそれらへのパスを入力フィールドに配置します。

アーティファクトパスフィールドは、(ビルドチェックアウトディレクトリーへの)相対パスと絶対パスをサポートします。相対パスを使用することをお勧めします。正確なファイルパスまたはパターンを1行に1つずつ、またはカンマ区切りで指定できます。パターンは "*"と "**"のワイルドカードをサポートします(下記参照)。各行は、含める場合は [+:]source [=> target]、ビルド成果物として公開するファイルまたはディレクトリーを除外する場合は -:source [=> target] の形式にすることができます。角括弧で囲まれた部分はオプションです。ルールは正しい部分ごとにグループ化され、出現順に適用されます。

+:**/* => target_directory -:**/folder1 => target_directory

folder1を除くすべてのファイルを target_directoryに公開するようにTeamCityに指示します。

行フォーマットの説明

file_name|directory_name|wildcard [ => target_directory|target_archive ]

ソース部分では絶対パスがサポートされていますが、ビルドチェックアウトディレクトリーからの相対パスを使用することをお勧めします。

  • 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 として扱います。

例:

  • 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=<external build configuration ID>""&projectId=<external project ID>"に置き換えることで、すべてのプロジェクトビルド構成のステータスを表示することもできます。これらのパラメータの組み合わせを選択して、必要なプロジェクトを表示したり、Webページに構成を構築したりできます。

externalStatus.css ファイルをダウンロードしてカスタマイズすることもできます(たとえば、display: noneを使用して一部の列を無効にすることができます。externalStatus.cssのコメントを参照してください)。しかしこの場合は、withCss = trueパラメータを含めてはいけませが、代わりにCSSスタイルを明示的に、できれば <head> セクションに含めてください。

ステータスウィジェットを有効にすると、ログインしていないユーザーがビルド設定のRSSフィードを取得することもできます。

同時実行ビルド数の制限

すべてのエージェントで同時に実行できる同じ構成のビルド数を指定します。このオプションは、すべてのエージェントが1つのプロジェクトのビルドで忙しいときに状況を回避できます。無制限の数のビルドを同時に実行できるようにするには、0を入力します。


関連事項:

概念 : ビルド構成