空きディスク容量
TeamCity はビルド用にエージェント上のディスク容量を必要とし、デフォルトで 3 GB を割り当てます。
ビルドにさらにスペースが必要な場合は、 空きディスク容量 ビルド機能を使用します。 ビルドのチェックアウトディレクトリやさまざまなキャッシュなどの古いビルドデータをクリーンアップすることで、ビルド前に エージェント上 に一定の空きディスク領域を確保できます。 ビルド機能の設定で、必要なディスク領域の新しい値を指定します。
空きディスク容量 ビルド機能はアーティファクトのサイズを追跡し、アーティファクトの依存関係を解決するために必要なディスク容量を自動的に計算することに注意してください。 必要なディスク容量を指定するときに、ビルド中にダウンロードされるアーティファクトのサイズを考慮する必要はありません。
仕組み
ビルド前および各ビルド準備段階 (ソースの更新) の前に、エージェントは現在使用可能な空きディスク容量を 3 つの場所で確認します。
エージェントのシステム
エージェントの一時ディレクトリ
ビルドチェックアウトディレクトリ
これらの場所はすべて、指定された同じ要件を満たす必要があります。 失敗条件が指定されている場合、いずれかの場所が要件を満たさない場合、ビルドは失敗します。
ディスク容量が必要量より少ない場合、エージェントは続行する前に他のビルドの古いデータを削除しようとします。
消去されたデータには以下が含まれます。
削除対象としてマークされたチェックアウトディレクトリ
他のビルドのチェックアウトディレクトリの内容を、最近使用された順序とは逆の順序
以前にダウンロードされたアーティファクトのキャッシング (TeamCity アーティファクト依存関係を介してエージェントにダウンロードされたもの)
ローカル Docker キャッシュの清掃
ローカル NuGet パッケージキャッシュの清掃
ディスク領域を解放しているときにチェックアウトディレクトリが削除されないようにする必要がある場合は、 system.teamcity.ビルド.チェックアウトディレクトリ.有効期限時間 プロパティを なし に設定します。
設定
空きディスク容量 構築機能を使用すると、必要なディスク容量のデフォルトの 3 GB を変更できます。 以下の設定を構成します。
設定 | 説明 |
|---|---|
必要空き容量 | ここでカスタム空きディスク容量の値を指定できます(バイト単位、または kb、mb、gb、tb のいずれかの接尾辞を使用)。 |
十分なディスク容量を解放できない場合はビルドに失敗します | 対応するビルド失敗条件を追加できるようにします。 |
空きディスク Space 値を設定する代替方法
互換性を確保するために、以下のプロパティを使用して空きディスク容量の値を指定できます。 ただし、これらのプロパティは今後の TeamCity バージョンで削除される可能性があるため、空きディスク容量ビルド機能の使用をお勧めします。
プロパティを定義できます。
グローバルに構築エージェント用 (エージェントの
ビルドエージェント.プロパティファイル内)システムプロパティを指定して、特定のビルド構成に対応します。
必要な空き容量の値は、次のプロパティで定義されています。
ビルドチェックアウトディレクトリの
システム.TeamCity.エージェント.空き容量を確保するエージェントの
tempディレクトリの場合はシステム.TeamCity.エージェント.一時空き容量を確保する
TeamCity.エージェント.一時空き容量を確保する が定義されていない場合は、 TeamCity.エージェント.空き容量を確保する プロパティの値が使用されます。
これらのプロパティの値は、ビルド開始前に確保する必要がある利用可能な空きディスク容量を指定します。 値は、数値の後に kb、mb、gb、kib、mib、または gib サフィックスを付けた形式にする必要があります。 バイトにはサフィックスを使用しません。
例: システム.TeamCity.エージェント.空き容量を確保する = 5 GB
TeamCity が空きディスク容量の値を選択する方法は次のとおりです:
エージェントで定義されているか、プロジェクトまたはビルド構成レベルでオーバーライドされている
システム.TeamCity.エージェント.空き容量を確保するを使用します。(1)が定義されていない場合は、エージェントで定義されているか、プロジェクトまたはビルド構成レベルでオーバーライドされている
TeamCity.エージェント.空き容量を確保するを使用します。(1-2)が定義されていない場合は、ビルド機能で定義されているカスタム値を使用してください。
カスタム値が定義されていない場合は、デフォルト値の 3GB を使用します。
アーティファクトキャッシングの無効化
TeamCity ビルドエージェントは、同じエージェントへのネットワーク転送を減らすため、公開およびダウンロードされたビルドアーティファクトのキャッシングを維持します。 キャッシュは <ビルドエージェントホーム>\system\.アーティファクト_キャッシング ディレクトリに保存され、空きディスク領域の構築機能が正しく構成されていれば自動的に削除されます。 アーティファクト依存関係をダウンロードしている間、キャッシングを保存するための十分な容量がない場合、TeamCity はキャッシングを自動的に無効化します。
アーティファクトのキャッシュが不要な場合は、プロジェクトまたはそのビルド構成の 1 つに TeamCity.エージェント.ファイルキャッシング.公開.無効=true 構成パラメーターを追加することでオフにすることができます。 アーティファクトが大きく、TeamCity 内で使用されていない場合、またはアーティファクトキャッシングディレクトリがビルドチェックアウトディレクトリと同じディスク上にない場合に役立ちます。 ただし、キャッシュを保存するのに十分なスペースがある場合、エージェントはアーティファクトの依存関係としてダウンロードされたアーティファクトを引き続きキャッシュします。