VCS チェックアウトモード
ビルド構成の バージョン管理設定 ページでは、プロジェクトのソースコードを VCS から取得する方法を設定できます。 VCS ルートをアタッチし、チェックアウトオプションを設定できます。
VCS チェックアウトモードは、プロジェクトソースがエージェントに到達する方法に影響する設定です。 このモードは、ソースのチェックアウトのみに影響します。 現在のリビジョンおよび変更データの取得ロジックは TeamCity サーバーによって実行されるため、TeamCity サーバーはどのモードでも VCS サーバーにアクセスする必要があります。
使用するバージョン管理に応じて、エージェントは、エージェントの パス にインストールされて使用可能なコマンドラインクライアント(たとえば、Perforce、Git、Mercurial)を必要とする場合があります。
チェックアウトモードは、ビルド構成の バージョン管理設定 ページの チェックアウト設定 セクション(詳細設定)で構成されます。
TeamCity には次の VCS チェックアウトモードがあります:
チェックアウトモード | 説明 |
|---|---|
エージェントのファイルをチェックアウトすることをお勧めします | これは、新しく作成されたビルド構成のデフォルト設定です。 アップグレードする場合、既存のビルド構成のチェックアウトモード設定は保持されます。 この設定を有効化すると、TeamCity は可能な場合、エージェント側のチェックアウト (以下の 「常にエージェントでファイルをチェックアウトする」モードを参照) を使用します。 エージェント側のチェックアウトが不可能な場合、TeamCity は対応する ヘルスレポート項目を表示し、サーバー側のチェックアウト (以下の 「常にサーバーでファイルをチェックアウトする」モードを参照) を使用します。 TeamCity は次の場合にサーバー側のチェックアウトにフォールバックします:
|
常にサーバー上のファイルをチェックアウトする | TeamCity サーバーは各ビルドの前に ソースをエクスポートし、エージェントに渡します。 ソースはチェックアウトではなくエクスポートされるため、エージェントのファイルシステムには管理データは保存されず、バージョン管理操作 (チェックイン、ラベル付け、更新など) はエージェントからは実行できません。 TeamCity は、 ソースをキャッシングし、VCS サーバーから必要な変更のみを取得することで、VCS サーバーとの通信を最適化します。 クリーンチェックアウトが実行されない限り、サーバーは、指定されたチェックアウトディレクトリ内でエージェント上の前回のビルド以降に変更されたファイルのみを更新するための増分パッチをエージェントに送信します。 |
常にエージェント上のファイルをチェックアウトしてください | ビルドエージェントはビルドの前に ソースをチェックアウトします。 エージェント側のチェックアウトにより、より多くのサーバーリソースが空き、バージョン管理固有のディレクトリ ( VCS クライアントソフトウェアをエージェントにインストールする必要があります(Perforce、Mercurial、Git に適用可能)。 |
ファイルを自動的にチェックアウトしないでください | TeamCity はソースを自動的にチェックアウトしませんが、 デフォルトのビルドチェックアウトディレクトリは引き続き作成されるため、ビルドスクリプト経由でソースをチェックアウトするために使用できます。 ビルドに渡された ビルドチェックアウトディレクトリは 含まない 、ディレクトリの有効期限が 設定 されていない限り、自動的にクリーンアップされます。 |