ビルドキャッシュ
「ビルドキャッシュ」機能を使用すると、ビルド構成やジョブで、ビルド実行中に生成された特定のファイル(ダウンロードされた npm パッケージや Maven ローカルリポジトリアーティファクト(英語)など)を公開できます。公開されたキャッシュは、公開した構成、または他の構成やジョブによって、後続のビルドで再利用できます。この手法により、ビルドルーチンが最適化され、高速化されます。
共通情報
パブリッシャーとコンシューマーをキャッシュする
ビルドキャッシュ機能を 2 つのモードのいずれかで動作するように設定できます。
初期ビルドキャッシュ設定により、この機能は、以前のビルド中に同じ機能によって公開されたキャッシュをダウンロードできます。
あるいは、1 つのビルドキャッシュ機能でキャッシュを公開し、別のビルドキャッシュ (別のビルド構成から) でキャッシュをダウンロードするように設定することもできます。このモードでは、「パブリッシャー」機能と「コンシューマー」機能を設定して、異なるビルド構成間でキャッシュを交換できます。キャッシュコンシューマー機能の数に制限はありませんが、キャッシュパブリッシャーと同じプロジェクトに属している必要があります。
サイズ制限
キャッシュは、.teamcity.build_cache フォルダーに非表示のアーティファクトとして公開されます。公開されたキャッシュを表示するには、アーティファクトタブの隠されたアーティファクトを表示するリンクをクリックします。

キャッシュはアーティファクトとして公開されるため、管理 | グローバル設定ページで設定できるビルドアーティファクトファイルの最大サイズ設定の影響を受けます。
操作の順序
ビルド構成がキャッシュをアップロードするように構成されている場合、ビルドステージは次の順序で配置されます。
アーティファクトの依存関係を解決する
ソースをチェックアウトする
ダウンロードキャッシュ
ビルドを開始する
同じビルド構成内でキャッシュを公開して使用する
このセクションでは、ビルド構成で以前のビルドのキャッシュを再利用できるビルドキャッシュ機能をセットアップする方法を説明します。
ビルド機能を追加するをビルド構成に追加し、一意のキャッシュ名を指定します。
この機能でキャッシュの公開と使用の両方を行う必要があるため、公開とキャッシュを使用の両方の設定を有効のままにします。
キャッシュする必要があるファイルとフォルダーへのパスを指定します。各パスは新しい行から開始する必要があります。ワイルドカードはサポートされていません。相対パスはチェックアウトディレクトリに対して解決されます。
例:
npm installまたはyarn installコマンドによってダウンロードされた NodeJS パッケージをキャッシュするには、このフィールドにnode_modules/と入力します。デフォルトでは、新しいビルドは、以前のビルドで公開されたものと同一のキャッシュを公開しません。各ビルドでキャッシュをアップロードする場合は、変更された場合のみ公開設定のチェックを外します。
設定を保存します。機能を構築するページの機能の説明には、同じキャッシュを公開および使用することが記載されている必要があります。

ビルドを実行し、キャッシュされたすべてのファイルがビルド結果ページで「.teamcity.build_cache」隠しアーティファクトとして利用できることを確認します。
前回の実行中に公開されたキャッシュが使用されていることを確認するには、ビルドを再度実行し、ビルドログで対応するメッセージを確認します。
別々のビルド構成間でキャッシュを交換する
このセットアップでは、1 つのビルド構成に追加された「パブリッシャー」ビルドキャッシュ機能がそのキャッシュを公開し、別の構成に追加された「コンシューマー」ビルドキャッシュ機能がこのキャッシュをダウンロードします。ダウンロードされたキャッシュは、パブリッシャーの公開ルールパスと一致する同じ場所に配置されます。
同じプロジェクトに属する構成の機能を追加する限り、パブリッシャーとコンシューマーの機能を必要な数だけセットアップできます。
パブリッシャーの設定
ビルド機能を追加するをビルド構成に追加し、一意のキャッシュ名を指定します。
キャッシュする必要があるファイルとフォルダーへのパスを指定します。各パスは新しい行から開始する必要があります。ワイルドカードはサポートされていません。相対パスはチェックアウトディレクトリに対して解決されます。
例:
npm installまたはyarn installコマンドによってダウンロードされた NodeJS パッケージをキャッシュするには、このフィールドにnode_modules/と入力します。デフォルトでは、新しいビルドは、以前のビルドで公開されたものと同一のキャッシュを公開しません。各ビルドでキャッシュをアップロードする場合は、変更された場合のみ公開設定のチェックを外します。
キャッシュを使用チェックボックスをオフにします。
設定を保存します。機能を構築するページの機能の説明には、キャッシュを公開するだけであると記載されている必要があります。

ビルドを実行し、キャッシュされたすべてのファイルがビルド結果ページで「.teamcity.build_cache」隠しアーティファクトとして利用できることを確認します。
コンシューマーの設定
ビルド機能を追加するをビルド構成に追加し、パブリッシャー機能が使用するのと同じキャッシュ名を指定します。
公開チェックボックスをオフにします。
設定を保存します。機能を構築するページの機能の説明には、キャッシュのみを使用することが記載されている必要があります。

新しいビルドを実行し、ビルドログをチェックして、必要なキャッシュファイルがダウンロードされていることを確認します。
この公開されたキャッシュを必要とするすべてのビルド構成について、上記の手順を繰り返します。
関連事項
関連ページ:
ジョブ設定
ジョブには、順番に実行される個々のビルドステップが含まれます。この記事では、シーケンスの実行方法を制御する一般的な設定について説明します。ジョブ設定の編集:ジョブ設定を表示および編集するには、右上隅の設定トグルをクリックし、任意のジョブタイルをクリックします (または、新しいジョブを作成するには追加タイルをクリックします)。ビジュアルエディターからコードに切り替えて、マークアップを直接編集することもできます。ステップ:このセクションを使用して、プロジェクトのビルドとテスト、カスタムスクリプト
Node.js
Node.js ビルドランナーを使用すると、、などの Node.js ツールを実行できます。一般的なビルド手順の設定の説明については、ビルドステップの設定を参照してください。前提条件:現在、Node.js ステップは Docker/Podman コンテナー内でのみ実行できます。利用可能な Docker/Podman 設定に関する一般的な情報については、コンテナーラッパーを参照してください。現在のビルドステップで使用する Node.js のバージョンを定義できます。TeamCity はデフォルト...
ビルド結果ページ
TeamCity では、ビルドに関するすべての情報 (キューに入っているか、実行中か、完了しているかに関係なく) がビルド結果ページに蓄積されます。ビルド結果を表示するには、任意の構成を選択してビルド履歴を表示し、必要なビルド番号をクリックします。このページには、いくつかの静的タブ(概要、変更、ビルドログ、アーティファクトなど)と、特定の構成機能に応じて表示されるコンテキストタブが含まれています。例: 依存関係タブは、親構成がビルドチェーンに属するビルドに対してのみ表示されます。内部ビルド ID:...
TeamCity の設定とメンテナンス
サーバー構成を変更するには、管理 | グローバル設定に移動します。次の設定ブロックを使用できます。TeamCity の設定:データベース実行中の TeamCity サーバーによって使用されるデータベース。データディレクトリディレクトリを参照できる \<TeamCity データディレクトリ \> パス。アーティファクトディレクトリ TeamCity サーバーがビルドアーティファクト、ビルドログ、その他のビルドデータを保存するために使用するルートディレクトリのリスト。デフォルトの場所はです...
ビルド機能を追加する
ビルド機能は、追加の機能を有効にするために任意のビルド構成に追加できる機能です。例: ステータス発行者のコミットビルド機能は、コードファイルを保存する VCS に TeamCity ビルド結果を公開し、調査自動割り当ては最新の変更によってビルドが壊れたユーザーを識別し、これらの問題を解決するタスクを自動的に割り当てます。構成されたビルド機能は、削除することなくいつでも一時的に無効にできます。TeamCity ビルドの特徴:TeamCity には、構成に追加できる次のビルド機能が付属しています。A...
Maven
Maven ビルドステップでは、ビルドを自動化するために Apache Maven を使用できます。ステップ設定:Maven ステップ設定のリストとそれに対応する UI ラベルは、ビルド構成を構成するかパイプラインを構成するかによって若干異なります。メイン設定ゴール TeamCity で実行させたい Maven ゴールをスペースで区切ってリストします。一部の Maven ゴールはバージョン管理システムを使用できるため、一部の VCS チェックアウトモードゴールと互換性がなくなる可能性があります。このよう...