TeamCity オンプレミス 2025.11 ヘルプ

ビルドチェックアウトディレクトリ

ビルドチェックアウトディレクトリは、特定の VCS ルートからのビルドソースがチェックアウトされる TeamCity エージェントマシン上のディレクトリです。ビルド構成が同じ VCS ルートで構成されている場合、このディレクトリは複数のビルド構成間で共有できます。詳細については、デフォルトのチェックアウトディレクトリおよびカスタムチェックアウトディレクトリを参照してください。

チェックアウトプロセス

チェックアウトプロセスは、次のように VCS チェックアウトモードの影響を受けます。

  • エージェント側チェックアウトモードを使用する場合、ビルドエージェントはビルド前にソースをビルドチェックアウトディレクトリにチェックアウトします。

  • サーバー側チェックアウトモードを使用する場合、TeamCity サーバーは増分パッチをエージェントに送信し、指定されたチェックアウトディレクトリ内の最後のビルド以降に変更されたファイルのみを更新します。

  • 手動チェックアウトモードを使用する場合、ソースはチェックアウトされませんが、ビルドスクリプトを使用してソースをチェックアウトするために、デフォルトのビルドチェックアウトディレクトリが作成されます。以下で説明するように有効期限が設定されていない限り、ディレクトリは自動的に消去されません。

TeamCity によって処理されるチェックアウト (server-side または agent-side チェックアウトモード) の場合、TeamCity はエージェント上の各チェックアウトディレクトリでチェックアウトされた最後のリビジョンを追跡し、新しいビルドに対して、最後に使用されたリビジョンから現在のリビジョンに増分パッチを適用します。建てる。使用されたリビジョンは、ビルド結果ページの変更タブで検索できます。

増分チェックアウトとは、TeamCity によって作成または変更されていないファイル (たとえば、以前のビルドスクリプトによって) が、変更された状態で保持されることを意味します (専用の VCS ルート固有のリセットオプションが使用されている場合を除く)。そのため、次のことをお勧めします。

  • ビルドに影響を与え、以前のビルドによって生成された可能性があるすべてのファイルに対して、ビルドの最初のステップとしてビルドがクリーンな手順を実行するようにしてください。典型的なファイルはコンパイル出力、テストレポート、ビルドプロデュースアーティファクトです。

  • ビルドがバージョン管理下にあるファイルを変更または削除しないようにしてください。

TeamCity が増分パッチをビルドできないことを検出すると、クリーンチェックアウトが強制されます。手動で強制することも、ビルドごとに実行されるように構成することもできます。

チェックアウトディレクトリの場所

デフォルトのチェックアウトディレクトリ

デフォルトのチェックアウトディレクトリの場所 (ビルド設定のバージョン管理設定ページでチェックアウトディレクトリフィールドが自動に設定されている場合) は次のように指定されます。

<Build_Agent_Home>/work/<VCS_Settings_Hash_Code>

エージェントの作業ディレクトリの場所がカスタマイズされている場合、これは次のように変更されます。

<Agent_Work_Dir>/<VCS_Settings_Hash_Code>

VCS 設定ハッシュコード <VCS_Settings_Hash_Code> は、VCS ルート、そのチェックアウトルール、およびビルド構成 (チェックアウトモード) で使用される VCS 設定のセットに基づいて計算されます。これは事実上、同じ VCS 設定を持つすべてのビルド構成間でディレクトリが共有されることを意味します。

ソースファイルは、VCS チェックアウト規則で定義されたマッピングに従ってチェックアウトディレクトリに配置されます。

カスタムチェックアウトディレクトリ

カスタムチェックアウトディレクトリを構成するには、ビルド設定のバージョン管理設定ページでチェックアウトディレクトリフィールドをカスタムパスに設定し、指定されたフィールドにカスタムパスを入力します。

次の条件が満たされていることを確認してください。

  • チェックアウトディレクトリは、異なる VCS 設定を持つビルド構成間で共有されません (そうでない場合、TeamCity は、ディレクトリ内に別のビルド構成がビルドされるたびにクリーンチェックアウトを実行します)。

  • ディレクトリの内容は、単一の TeamCity エージェントのプロセス以外のプロセスによって変更されません(そうしないと、TeamCity は一貫した増分ソース更新を保証できない可能性があります)。これを排除できない場合は、参加しているすべてのビルド構成でクリーンビルドチェックアウトオプションをオンにしてください。このルールは、同じ作業ディレクトリを共有する 2 つの TeamCity エージェントにも適用されます。1 つの TeamCity エージェントは別のエージェントを認識していないため、他のエージェントはそのエージェントの外部プロセスとして表示されます。

特定の状況下では、チェックアウトディレクトリの内容が TeamCity によって削除される可能性があることに注意してください。

チェックアウトディレクトリの検索

問題を調査していて、ビルド構成で使用されるディレクトリを知る必要がある場合は、ビルドログからディレクトリを取得するか、生成されたファイル <Agent_Work_Dir> /directory.map を参照することができます。このファイルには、ビルド構成と最後に使用されたディレクトリが一覧表示されます。

ビルドスクリプトでは、TeamCity が提供する teamcity.build.checkoutDir プロパティを使用して、ビルドチェックアウトディレクトリの実効値を参照できます。デフォルトでは、これはビルドが実行されるディレクトリでもあります。

チェックアウトディレクトリの有効期限

server-side およびエージェント側のチェックアウトモードでは、指定された期間 (デフォルトでは 8 日間) 使用されていない (ディレクトリをチェックアウトディレクトリとして使用してエージェント上でビルドが実行されていない) 場合、または別のビルドで使用可能なディスク領域よりも多くの空きディスク領域が必要な場合、チェックアウトディレクトリはディスクから自動的に削除されます。手動チェックアウトモードでは、ディレクトリの有効期限が設定されていない限り、自動ディレクトリクリーニングは実行されません。

空きディスク容量ビルド機能を使用して、ビルドがビルドエージェントに十分なディスク空き容量を確保することをお勧めします。

次のいずれかの方法で新しい値(時間単位)を指定することで、ディレクトリの自動有効期限の時間枠を変更できます。

  • buildAgent.properties ファイルの teamcity.agent.build.checkoutDir.expireHours エージェントプロパティ

  • system.teamcity.build.checkoutDir.expireHours ビルド構成プロパティ

    • 0 は、ビルドが終了した直後にチェックアウトディレクトリを削除します

    • never は、TeamCity がディレクトリを削除してはならないことを TeamCity に通知します。

    • default はデフォルト値の使用を強制します

有効期限に基づくディレクトリのクリーニングは、ビルドエージェントがアイドル状態 (つまり、ビルドが実行されていない状態) のときにバックグラウンドで実行されます。

チェックアウトディレクトリの有効期間は、work/directory.map ファイルに反映されます。ファイル内の行は、既存のチェックアウトディレクトリに対応します (1 対 1)。各行の最後の値は、その特定のディレクトリがクリーンアップされるまでの時間数を表します。デフォルトでは、値は各ディレクトリに対して 192 時間 (8 日) に設定されています (パラメーター値: default)。

上記のパラメーターを指定してデフォルト値を上書きできますが、変更は新しく作成されたすべてのディレクトリにのみ適用され、既存のすべてのディレクトリはそれぞれの有効期間値を保持することに注意してください。

2025 年 4 月 07 日

関連ページ:

VCS ルートの設定

VCS ルートは、TeamCity ←→ VCS リポジトリ通信の基礎です。この不可欠な要素は、リポジトリのチェックアウト、コードソースのタグ付け、ビルドステータスの VCS への返信など、さまざまな操作を実行するために必要な VCS プロバイダーへの接続を定義します。VCS ルートには次の情報が保存されます。TeamCity がリモートファイルをプルおよびプッシュするために使用する URL を取得してプッシュします。ブランチ情報: TeamCity が追跡する必要があるリポジトリブランチのリスト...

VCS 設定値の設定

バージョン管理システム(VCS)は、プロジェクトのソースファイルのリビジョンを追跡するためのシステムです。SCM(ソースコード管理)またはリビジョン管理システムとも呼ばれます。次の VCS は、そのまま TeamCity でサポートされています:Git、Subversion、Mercurial、Perforce、Azure DevOps、CVS、StarTeam。バージョン管理システムへの接続は、TeamCityVCS ルートによって定義されます。TeamCity のプロジェクトまたは...

ビルド結果ページ

TeamCity では、ビルドに関するすべての情報 (キューに入っているか、実行中か、完了しているかに関係なく) がビルド結果ページに蓄積されます。ビルド結果を表示するには、任意の構成を選択してビルド履歴を表示し、必要なビルド番号をクリックします。このページには、いくつかの静的タブ (概要、変更、ビルドログ、アーティファクトなど) と、特定の構成機能に応じて表示が決まるコンテキストタブが含まれます。例: 依存関係タブは、親構成がビルドチェーンに属するビルドに対してのみ表示されます。内部ビルド ID...

VCS チェックアウト規則

VCS チェックアウトルールを使用すると、構成された VCS ルートの一部をチェックアウトし、バージョン管理のディレクトリをビルドエージェントのビルドチェックアウトディレクトリのサブディレクトリにマップすることができます。リポジトリ全体の VCS ルートを定義し、各ビルド構成にその関連部分のみをチェックアウトするように指示することができます。チェックアウトルールは、UI に表示されるビルドの変更と、エージェント上のビルドでチェックアウトされるファイルに影響します。コミットがビルドの VCS ルー...

ビルドパラメーターの設定

パラメーターは、TeamCity 設定およびビルドスクリプトの構文を介して参照するペアです。パラメーター部分は、生の値 () にすることも、別のパラメーターへの参照 () を含めることもできます。パラメーター型:TeamCity は次の 3 種類のパラメーターをサポートします。構成パラメーター — ビルド構成内で設定を共有することを主な目的とするパラメーター。これらのパラメーターを使用して、テンプレートから作成された構成やレシピを使用する構成をカスタマイズすることもできます。TeamCity は...