TeamCity 2020.2 ヘルプ

一般設定を構成する

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

設定

説明

名前

ビルド構成名。

ビルド構成 ID

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

説明

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

ビルド番号の形式

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

ビルドカウンター

ビルド番号付けに使用するカウンターを指定します。ビルドごとにビルドカウンターが 1 ずつ増えます。リセットリンクを使用して、カウンター値を 1 に戻します。

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

アーティファクトをいつ公開するかを選択します。

  • ビルドが失敗した場合でも」(デフォルト):前のすべてのステップが正常に完了したかどうかにかかわらず、ビルドの最後のステップでアーティファクトを公開します。

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

  • 常に、ビルド停止コマンドが発行された場合でも」:中断されたビルド(たとえば、stop コマンドが発行された後、またはビルド失敗条件で指定されたタイムアウト後)の場合でも、すべてのビルドのアーティファクトを公開します。

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

アーティファクトパス

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

ビルドオプション

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

ビルド番号の形式

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

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

パターン

説明

%build.counter%

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

%build.vcs.number.<VCS_root_name>%

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

%property.name%

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

必須ではありませんが、ビルド番号が一意であることを確認することを強くお勧めします。ビルド番号にビルドカウンタを含めてください。ビルドカウンタを小さい値にリセットしないでください。ビルドスクリプト内からビルド番号を変更することも可能です。詳細は 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 — to publish the file. The name should be relative to the ビルドチェックアウトディレクトリ

  • directory_name — to publish all the files and subdirectories within the directory specified. The directory name should be a path relative to the ビルドチェックアウトディレクトリ . The files will be published preserving the directories structure under the directory specified (the directory itself will not be included).

  • wildcard — to publish files matching アリのようなワイルドカード pattern (only * and ** wildcards are supported). The wildcard should represent a path relative to the build checkout directory. The files will be published preserving the structure of the directories matched by the wildcard (directories matched by "static" text will not be created). That is, TeamCity will create directories starting from the first occurrence of the wildcard in the pattern.

  • アーティファクト仕様でビルドパラメーターを使用できます。例: mylib-%system.build.number%.zip を使用して、名前にビルド番号を含むファイルを参照します。

=> シンボルで始まり、その後にターゲットディレクトリ名が続くオプションの部分を使用して、指定したターゲットディレクトリにファイルを発行できます。ターゲットディレクトリを省略した場合、ファイルはビルドアーティファクトのルートで公開されます。 . (ドット)をビルドチェックアウトディレクトリへの参照として使用できます。
ターゲットパスを絶対パスにすることはできません。非相対パスは、ビルド中にエラーを生成します。

  • target_directory — (optional) the directory in the resulting build's artifacts that will contain the files determined by the left part of the pattern.

  • target_archive — (optional) the path to the archive to be created by TeamCity by packing build artifacts determined in the left part of the pattern. TeamCity treats the right part of the pattern as target\_archive whenever it ends with a supported archive extension, that is .zip.7z.jar.tar.gz , or .tgz .

例:

  • install.zip — publish a file named install.zip in the build artifacts.

  • dist — publish the content of the dist directory.

  • target/*.jar — publish all jar files in the target directory.

  • target/**/*.txt=> docs — publish all the txt files found in the target directory and its subdirectories. The files will be available in the build artifacts under the docs directory.

  • reports => reports, distrib/idea*.zip — publish reports directory as reports and files matching idea*.zip from the distrib directory into the artifacts root.

  • 必要に応じて、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 を入力して、無制限の数のビルドを同時に実行できるようにします。