TeamCity 2020.2 ヘルプ

クリーンチェックアウト

クリーンチェックアウトクリーンソースとも呼ばれます)は、次のビルドが 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 より前)