空きディスク容量
TeamCity はビルド用にエージェントにディスク容量を必要とし、デフォルトで 3 GB を割り当てます。
ビルドにさらにスペースが必要な場合は、空きディスク容量 ビルド機能を使用します。ビルドのチェックアウトディレクトリやさまざまなキャッシュなどの古いビルドデータをクリーンアップすることで、ビルド前にエージェントに一定の空きディスク領域を確保できます。ビルド機能の設定で、必要なディスク領域の新しい値を指定します。
空きディスク容量ビルド機能はアーティファクトのサイズを追跡し、アーティファクトの依存関係を解決するために必要なディスク容量を自動的に計算することに注意してください。必要なディスク容量を指定するときに、ビルド中にダウンロードされるアーティファクトのサイズを考慮する必要はありません。
使い方
ビルド前および各ビルド準備段階 (ソースの更新) の前に、エージェントは現在使用可能な空きディスク容量を 3 つの場所で確認します。
エージェントのシステム
エージェントの一時ディレクトリ
ビルドチェックアウトディレクトリ
これらの場所はすべて、指定された同じ要件を満たす必要があります。失敗条件が指定されている場合、いずれかの場所が要件を満たさない場合、ビルドは失敗します。
ディスク容量が必要量より少ない場合、エージェントは続行する前に他のビルドの古いデータを削除しようとします。
消去されたデータには以下が含まれます。
削除対象としてマークされたチェックアウトディレクトリ
他のビルドのチェックアウトディレクトリの内容を、最近使用された順序とは逆の順序
以前にダウンロードされたアーティファクトのキャッシュ (TeamCity アーティファクト依存関係を介してエージェントにダウンロードされたもの)
ローカル Docker キャッシュの清掃
ローカル NuGet パッケージキャッシュの清掃
ディスク領域を解放しているときにチェックアウトディレクトリが削除されないようにする必要がある場合は、system.teamcity.build.checkoutDir.expireHours プロパティを never に設定します。
設定
空きディスク容量構築機能を使用すると、必要なディスク容量のデフォルトの 3 GB を変更できます。以下の設定を構成します。
設定 | 説明 |
|---|---|
必要空き容量 | ここでカスタム空きディスク容量の値を指定できます(バイト単位、または kb、mb、gb、tb のいずれかの接尾辞を使用)。 |
十分なディスク容量を解放できない場合はビルドに失敗します | 対応するビルド失敗条件を追加できるようにします。 |
空きディスク容量の値を設定する別の方法
互換性を確保するために、以下のプロパティを使用して空きディスク容量の値を指定できます。ただし、これらのプロパティは将来の TeamCity バージョンで削除される可能性があるため、空きディスク領域のビルド機能を使用することをお勧めします。
プロパティを定義できます。
グローバルに構築エージェント用 (エージェントの
buildAgent.propertiesファイル内)システムプロパティを指定して、特定のビルド構成に対応します。
必要な空き容量の値は、次のプロパティで定義されています。
ビルドチェックアウトディレクトリの
system.teamcity.agent.ensure.free.spaceエージェントの
tempディレクトリの場合はsystem.teamcity.agent.ensure.free.temp.space
teamcity.agent.ensure.free.temp.space が定義されていない場合は、teamcity.agent.ensure.free.space プロパティの値が使用されます。
これらのプロパティの値は、ビルドを開始する前に確保する必要がある使用可能な空きディスク領域の量を指定します。値は、kb、mb、gb、kib、mib、gib の接尾辞が後に続く数値である必要があります。バイトの場合は接尾辞を使用しないでください。
サンプル: system.teamcity.agent.ensure.free.space = 5gb
TeamCity が空きディスク容量の値を選択する方法は次のとおりです。
エージェントで定義されているか、プロジェクトまたはビルド構成レベルでオーバーライドされている
system.teamcity.agent.ensure.free.spaceを使用します。(1)が定義されていない場合は、エージェントで定義されているか、プロジェクトまたはビルド構成レベルでオーバーライドされている
teamcity.agent.ensure.free.spaceを使用します。(1-2)が定義されていない場合は、ビルド機能で定義されているカスタム値を使用してください。
カスタム値が定義されていない場合は、デフォルト値の 3GB を使用します。
アーティファクトキャッシュの無効化
TeamCity ビルドエージェントは、公開およびダウンロードされたビルドアーティファクトのキャッシュを維持して、同じエージェントへのネットワーク転送を減らします。キャッシュは <Build Agent Home>\system\.artifacts_cache ディレクトリに保存され、空きディスク領域の構築機能が正しく構成されていれば自動的に削除されます。アーティファクトの依存関係をダウンロードしている間、キャッシュを格納するための十分なスペースがない場合、TeamCity は自動的にキャッシュを無効にします。
アーティファクトのキャッシュが不要な場合は、プロジェクトまたはそのビルド構成の 1 つに teamcity.agent.filecache.publishing.disabled=true 構成パラメーターを追加することでオフにすることができます。アーティファクトが大きく、TeamCity 内で使用されていない場合、またはアーティファクトキャッシュディレクトリがビルドチェックアウトディレクトリと同じディスク上にない場合に役立ちます。ただし、キャッシュを保存するのに十分なスペースがある場合、エージェントはアーティファクトの依存関係としてダウンロードされたアーティファクトを引き続きキャッシュします。
関連ページ:
TeamCity データのクリーンアップ
TeamCity のクリーンアップ機能により、古いビルドデータや不要なビルドデータを自動的に削除できます。サーバーのクリーンアップ構成は管理 | サーバー管理 | クリーンアップ設定で使用可能です。クリーンアップスケジュールの設定が可能で、一般的なクリーンアップ情報が表示されます。特定のプロジェクトに関連するクリーンアップルールはプロジェクト設定で設定されます | クリーンアップルール。これらのルールは、どのデータをクリーンアップし、どのデータを保持するかを定義します。これらは、プロジェクトまた...
TeamCity データディレクトリ
TeamCity データディレクトリは、TeamCity サーバーが構成、ビルド結果、現在の操作ファイルを保存するために使用するファイルシステム上のディレクトリです。このディレクトリは、すべての構成設定の 1 次ストレージであり、TeamCity のインストールに不可欠なデータを保持します。ビルド履歴、ユーザーとそのデータ、その他のデータはデータベースに保存されます。ディレクトリとデータベースに保存されるデータの説明については、バックアップに関する注意事項を参照してください。このドキュメントや他...
ビルド機能を追加する
ビルド機能は、追加の機能を有効にするために任意のビルド構成に追加できる機能です。例: ステータス発行者のコミットビルド機能は、コードファイルを保存する VCS に TeamCity ビルド結果を公開し、調査自動割り当ては最新の変更によってビルドが壊れたユーザーを識別し、これらの問題を解決するタスクを自動的に割り当てます。構成されたビルド機能は、削除することなくいつでも一時的に無効にできます。TeamCity ビルドの特徴:TeamCity には、構成に追加できる次のビルド機能が付属しています。A...
ビルドの失敗条件
TeamCity では、ビルドが失敗とマークされる条件を変更できます。これらのビルド失敗条件は、ビルド設定 | 失敗条件で調整できます。一般的なビルドの失敗条件:一般的な障害状態ブロックでは、TeamCity がビルドにどの程度正確に失敗するかを指定できます。カスタムビルド実行タイムアウトの設定 ... 分以上実行された場合条件はビルド実行のタイムアウトを設定します。ビルドが指定された時間(分単位)を超えると、自動的にキャンセルされます。これにより、ビルドのハングを防ぎ、エージェントの効率性が向上...
TeamCity とコンテナーマネージャーの統合
TeamCity は、コンテナーマネージャー (Docker、Podman) と複数のレベルで統合されます。Docker ビルドランナーはビルド中に Docker コマンドを起動し、Docker イメージを作成します。Docker Compose ビルドランナーは、ビルド中に Docker Compose ツールを使用してサービスを開始します。コンテナーラッパー拡張機能は、コンテナー内でビルドステップを実行します。Docker と Podman をサポートします。複数のランナーで使用できます。Dock...
Golang
Golang ビルド機能により、TeamCity での Go テスト結果のリアルタイムレポートと履歴が可能になります。ビルドを実行する前に、Go コンパイラーがエージェントにインストールされていることを確認してください。TeamCity で Go テストレポートを有効にするには、次の 2 つの方法のいずれかを使用して、フラグを付けて実行します。このフラグをコマンドラインビルドランナーのスクリプトに追加します。ビルド構成にパラメーターを追加します。2025 年 4 月 07 日空きディスク容量調査自...