VCS ルートの設定
VCS ルートは、TeamCity ←→ VCS リポジトリ通信の基礎です。この不可欠な要素は、リポジトリのチェックアウト、コードソースのタグ付け、ビルドステータスの VCS への返信など、さまざまな操作を実行するために必要な VCS プロバイダーへの接続を定義します。
VCS ルートには次の情報が保存されます。
TeamCity がリモートファイルをプルおよびプッシュするために使用する URL を取得してプッシュします。
ブランチ情報: TeamCity が追跡する必要があるリポジトリブランチのリストと、どのブランチがデフォルト (メイン) であるかを示します。
認証設定: TeamCity がリポジトリにアクセスするために使用する資格情報。
チェックアウト設定: リモートファイルの保存方法と、サブモジュールをメインリポジトリと一緒にチェックアウトするかどうかを指定します。
カスタムでは、デフォルトの 60 秒間隔を上書きできるポーリング設定を変更します。
VCS ルートに関連するセクションは、プロジェクト設定と構成設定の両方で使用できます。

ただし、構成はルートを所有することはありません。構成に VCS ルートを「アタッチ」することはできますが、ルートは常にプロジェクトに保存されます (プロジェクトによって所有されます)。この手法により、次のようになります。
VCS ルートは複数の構成に接続できるため、複数のビルド構成が同じ認証およびチェックアウト設定で同じリポジトリにアクセスできます。
1 つの構成に複数の VCS ルートを接続できるため、1 つの構成内で異なるリポジトリを操作できます。
VCS ルートを編集すると、それを使用するすべての構成に影響します。VCS ルート設定を変更する場合、このルートを複製し、更新された設定をこの新しいクローン内に保存して、元のルートを変更しないというオプションがあります。これにより、1 つのビルド構成をカスタマイズしながら、このルートを共有する他の構成には影響を与えずに済みます。
VCS ルートは、リモートリポジトリで動作するすべてのビルド構成の必須部分ですが、多くのシナリオでは、TeamCity によってルートが自動的に生成されるため、新しいビルド構成ごとに手動でルートを作成する必要はありません。例については、このチュートリアルを参照してください。
一般的な VCS ルートプロパティ
- VCS の種類
TeamCity でサポートされているバージョン管理システムのタイプ。例: Git、Perforce、Subversion など。
- VCS ルート名
プロジェクト内のすべての VCS ルートの中で一意の VCS ルート名。これは TeamCity UI(たとえば、ビルド構成の「VCS ルートをアタッチ」メニュー)に表示される公開名です。
- VCS ルート ID
システム内のすべての VCS ルートの中で、VCS ルートの一意の ID。デフォルトでは、ルート ID は親プロジェクト名とルート名をアンダースコアで区切ったものになります。例:
MyProject_HttpsGitHubComJohndoeMyrepoRefsHeadsMainルート名を変更する場合は、ID を再生成リンクをクリックしてこの値を更新できます。ルート ID は、ルートプロパティを読み取るためのビルドパラメーターで使用されます(例:
vcsroot.ProjectName_RootName.branch、vcsroot.ProjectName_RootName.url)。また、ID は REST API でも使用できます。- リポジトリ URL
VCS リポジトリの URL。
http(s)://、svn://、ssh://git@、git://などの様々な形式の URL に加え、Maven 形式の URL もサポートします。プロジェクト(またはその親プロジェクト)が VCS プロバイダーに接続している場合、TeamCity はこのフィールドの横に対応する VCS アイコンを表示します。同じプロバイダー(例: GitHub OAuth と GitHub App)への接続が複数ある場合は、アイコンにマウスポインターを合わせると接続名が表示されます。

アイコンをクリックすると、TeamCity がこの接続を使用して検出したリポジトリのリストが表示されます。接続には必要なリポジトリアクセスデータがすべて保存されるため、リポジトリを選択するとリポジトリ URL だけでなく、認証設定(ユーザー名とパスワード / アクセストークン)も入力されます。
- 最小ポーリング間隔
TeamCity が VCS の変更について VCS リポジトリをポーリングする頻度を指定します。デフォルトでは、管理 | グローバル設定ページで変更できるグローバル事前定義サーバー設定が使用されます。インターバル時間は、最後のポーリングが VCS ルートごとに終了するとすぐに開始されます。ここでは、現在の VCS ルートのカスタム間隔を指定できます。
TeamCity が、VCS コミットフックが変更のチェックをトリガーするために使用されていることを検出した場合、この間隔は、事前定義された値(4 時間)まで自動的に増加します。定期的なチェックでコミットフックを介して検出されない変更が検出されると、ポーリング間隔は指定された最小値にリセットされます。
- プロジェクトに属する
この VCS ルートを所有するプロジェクトを表示します。VCS ルートを親プロジェクトに移動すると、新しい所有者とそのサブプロジェクト内のすべてのビルド構成で使用できるようになります。
VCS 固有の設定の詳細については、このセクション内のページを参照してください。
関連ページ:
VCS 設定値の設定
バージョン管理システム(VCS)は、プロジェクトのソースファイルのリビジョンを追跡するためのシステムです。SCM(ソースコード管理)またはリビジョン管理システムとも呼ばれます。次の VCS は、そのまま TeamCity でサポートされています:Git、Subversion、Mercurial、Perforce、Azure DevOps、CVS、StarTeam。バージョン管理システムへの接続は、TeamCityVCS ルートによって定義されます。TeamCity のプロジェクトまたは...
最初のビルドを構成して実行する
TeamCity の用語では、ビルドとは 1 つ以上のステップで構成され、特定の CI/CD ジョブを実行するプロセスです。ここで説明するように TeamCity をインストールして開始すると、最初のビルドを構成して実行する準備が整います。クイックビデオガイドを見るか、以下の完全なチュートリアルを読むことができます。最初のプロジェクトを作成する:TeamCity では、リポジトリ URL から自動作成、VCS 接続から作成、手動で作成など、複数の方法でプロジェクトを作成できます。このチュートリ...
SSH 鍵管理
秘密 SSH キーを TeamCity プロジェクトにアップロードできます。アップロードされたキーは、VCS ルートの設定時および SSH エージェントビルド機能で使用できます。サポートされているキー形式:TeamCity は、PEM および OpenSSH 形式のキーをサポートします。異なる形式を使用するキーは変換する必要があります。例:PuTTY キージェネレーターを使用して、サポートされていない Putty 秘密鍵 () を PEM 形式に変換できます。これを行うには、変換 | OpenS...
接続を構成
TeamCity 接続は、外部サービスへのアクセスに必要な資格情報を保存します。このサードパーティサービスの種類に基づいて、2 つの主要な接続カテゴリがあります。VCS 接続これらの接続は、GitHub、GitLab、Bitbucket クラウドなどの VCS プロバイダーへのアクセスに必要な情報を保存します。これらの接続は、プロジェクト、ビルド構成、パイプラインを最も速く作成する方法を提供します。認証は自動的に処理されるため、リポジトリを選択するだけでビルドステップの設定を開始できます。接続が...
TeamCity 用の VCS ポストコミットフックの設定
TeamCity は、新しい変更を検出するために、アクティブな各 VCS ルートのターゲットとなるリモートリポジトリを定期的にポーリングします。インストールに数百の VCS ルートがある場合、この継続的なポーリングによりサーバーに大きな負荷がかかる可能性があります。コミット後のフックを設定すると、この負荷を軽減し、新しい変更の検出を高速化できます。この場合、新しいコミットがリモートリポジトリにプッシュされるたびに、VCS プロバイダーは即座に TeamCity に最近の変更を確認するリクエストを送...