TeamCity 2020.1ヘルプ

クリーンチェックアウト

クリーンチェックアウトクリーンなソースとも呼ばれる)は、次のビルドでVCSからすべてフェッチされたソースのコピーを確実に取得する操作です。ビルド・チェックアウト・ディレクトリのすべてのコンテンツが削除され、ソースがバージョン管理から再フェッチされます。

クリーンチェックアウトの実施

新規ファイルの追加、既存ファイルの変更または削除によって、チェックアウトディレクトリの内容が外部プロセスによって変更された場合は、クリーンチェックアウトをお勧めします。

クリーンなソースアクションを強制できます。

  • ビルド構成の場合– ビルド構成ホームページから、右上隅のアクションドロップダウンメニューを使用します。

  • エージェントの場合– エージェント詳細ページから、その他セクション、このエージェントのソースをクリーンアップオプションを使用します。

このアクションは、ソースをクリーンアップするエージェント/ビルド構成のリストを開きます。

クリーンなソースは、トリガーされた後、選択された各エージェントで選択された各構成の次のビルド実行中に1回だけ実行される単一のアクションです。

TeamCityは、VCSサーバーとの通信を最適化するために、ソースの内部キャッシュを維持します。キャッシュはclean-up中にリセットされます。ソースの更新に関する問題を解決するには、Web UIの診断 | キャッシュタブを使用するか、< TeamCity Data Directory >/system/caches ディレクトリを削除して、キャッシュを手動でリセットする必要があります。

自動クリーンチェックアウト

ビルド構成の作成/編集> バージョン管理設定ページでオプションビルド前にすべてのファイルをきれいにするをチェックすれば、ビルドのたびにソースの自動クリーニングを有効にすることもできます。このオプションがチェックされていると、TeamCityは各ビルドの前にフルチェックアウトを実行します。クリーンチェックアウトが有効になっていない場合、TeamCityはチェックアウトディレクトリ内のソースを段階的に必要な状態に更新します。

TeamCityは、チェックアウトディレクトリ内のソースが予期される状態に対応していないかどうかを検出しようとし、そのような場合にクリーンチェックアウトをトリガーして、ソースが適切であることを確認します。つまり、特定の状況では、TeamCityはVCSチェックアウトで有効になっておらず、ユーザーがWeb UIから要求していなくても、クリーンチェックアウトが必要であることを検出できます。このような場合、チェックアウトディレクトリのコンテンツはすべて削除され、ソースによって最初から再作成されます。決定に関する詳細が利用可能な場合、それらはチェックアウト関連のロギングの前にビルドログに追加されます。

TeamCityが自動クリーンチェックアウトを実行する場合の概要は次のとおりです。

  • ビルド構成のVersion Control Settingsでビルド前にチェックアウトディレクトリ内のすべてのファイルを消去するオプションを使用して有効になっている場合

  • ビルドチェックアウトディレクトリが見つからないか、空です(ビルド設定が最初にエージェントで開始されたか、最後のビルド以降にディレクトリが消滅したかのどちらかです)。これには次のものも含まれます。
  • ユーザーがWeb UIからビルド構成またはエージェントに対して「強制クリーンチェックアウト」アクションを呼び出した

  • ビルド前にチェックアウトディレクトリ内のすべてのファイルを消去オプションが選択されているか、または対応するオプションが設定されているトリガによって、ビルドのカスタム実行ダイアログを介してビルドがトリガされた

  • 「ビルド前にチェックアウトディレクトリ内のすべてのファイルをクリーンアップする」オプションが有効になっている、または「すべてのスナップショット依存関係に適用する」スケジュールZトリガーの設定で一番上のビルドがトリガーされたチェーンの一部としてスケジュールトリガーによってビルドがトリガーされた。また選択された

  • ビルド設定のVCS設定が変更されました

  • このディレクトリの以前のビルドは、VCS設定が異なるビルド構成のものでした (個々のVCS設定とVCSルートを持つ複数のビルド構成に同じチェックアウトディレクトリが指定されている場合にのみ発生する可能性があります)

  • このディレクトリの以前のビルドは現在のものよりも最近のリビジョンでビルドされました (履歴の作成にのみ発生する可能性があります)

  • 前回のビルド中にパッチを適用またはロールバック中に重大なエラーが発生したため、TeamCityはcheckoutディレクトリに既知のバージョンのファイルが含まれていることを確認できません。

  • 対応するオプションでビルドファイルクリーナー (Swabra)が有効になっており、クリーンチェックアウトが必要であることが検出されます

  • カスタムチェックアウトディレクトリには、%teamcity.agent.work.dir% などのエージェント固有のパラメーターが含まれています (8.1より前)