TeamCity 2019.1ヘルプ

VCSチェックアウトモード

ビルド構成のバージョン管理設定ページでは、VCSからプロジェクトソースコードを取得する方法を構成できます。VCS ルートをアタッチしてチェックアウトオプションを構成できます。

VCSチェックアウトモードは、プロジェクトソースがエージェントに到達する方法に影響する設定です。このモードは、ソースのチェックアウトのみに影響します。現在のリビジョンおよび変更データの取得ロジックはTeamCityサーバーによって実行されるため、TeamCityサーバーはどのモードでもVCSサーバーにアクセスする必要があります。

使用するバージョン管理に応じて、エージェントは、エージェント上の PATH にインストールされ、使用可能なコマンドラインクライアントを必要とすることがあります。(Perforce、Git、Mercurialなど)。

チェックアウトモードは、ビルド構成のバージョン管理設定ページのチェックアウト設定セクション(詳細設定)で構成されます。

TeamCityには、次のVCSチェックアウトモードがあります。

チェックアウト・モード

説明

エージェントのチェックアウトファイルを優先する

これは、新しく作成されたビルド構成のデフォルト設定です。アップグレードする場合、既存のビルド構成のチェックアウトモード設定は保持されます。

この設定を有効にすると、可能であればTeamCityはエージェント側のチェックアウト(下記の「常にエージェント上のファイルをチェックアウトする」モードを参照)を使用します。エージェント側のチェックアウトが不可能な場合、TeamCityは対応するヘルスレポートアイテムを表示し、サーバー側のチェックアウトを使用します(以下の「サーバー上のファイルを常にチェックアウトする」モードを参照)。

TeamCityは、次の場合にサーバー側のチェックアウトにフォールバックします。

  • エージェントにGitまたはMercurialクライアントが見つかりません

  • GitまたはMercurialクライアントはエージェントに存在しますが、バージョンが間違っています

  • エージェントはリポジトリにアクセスできません

  • 実際のチェックアウトの実行中と同じルールを使用してPerforceクライアントがエージェントで見つからない場合、またはストリームデポが使用され、チェックアウトルールが複雑な場合 (以外: => A )

サーバー上のファイルを常にチェックアウトする

TeamCityサーバーは、各ビルドの前にソースをエクスポートし、エージェントに渡します。ソースはチェックアウトではなくエクスポートされるため、管理データはエージェントのファイルシステムに保存されず、バージョン管理操作(チェックイン、ラベル、更新など)はエージェントから実行できません。TeamCity は、ソースをキャッシュし、VCSサーバーから必要な変更のみを取得することにより、VCSサーバーとの通信を最適化します。クリーンチェックアウトが実行されない限り、サーバーはエージェントにインクリメンタルパッチを送信して、指定されたチェックアウトディレクトリー内のエージェントの最後のビルド以降に変更されたファイルのみを更新します。

エージェントのファイルを常にチェックアウトする

ビルドエージェントは、ビルドの前にソースをチェックアウトします。エージェント側のチェックアウトにより、より多くのサーバーリソースが解放され、バージョン管理固有のディレクトリー(.svn , CVS , .git)にアクセスできるようになります。つまり、ビルドスクリプトはVCS操作(たとえば、バージョン管理へのチェックイン)を実行できます。この場合、ビルドスクリプトがチェックインに必要な資格情報を使用するようにします。

VCSクライアントソフトウェアをエージェントにインストールする必要があります。(Perforce、Mercurial、Gitに適用可能)。

ファイルを自動的にチェックアウトしないでください

TeamCityはソースを自動的にチェックアウトせず、デフォルトのビルドチェックアウトディレクトリーが作成されるため、ビルドスクリプトを使用してソースをチェックアウトできます。TeamCityは、ビルドに渡された build.vcs.number.* プロパティーで指定されたリビジョンでチェックアウトが実行された場合にのみ、変更を正確に報告することに注意してください。

ディレクトリーの有効期限が設定されていない限り、ビルドチェックアウトディレクトリーは自動的に削除されません。


関連事項:

管理者ガイド : VCSチェックアウト規則