TeamCity オンプレミス 2025.11 ヘルプ

Subversion

この記事には、VCS ルートを設定するときに使用できる Subversion 固有のフィールドとオプションの説明が含まれています。

一般的な VCS ルートプロパティについては、ここで説明します。

SVN 接続設定

オプション

説明

URL

プロジェクトソースを指す SVN URL を指定します。

ユーザー名

SVN ユーザー名を指定します。

パスワード

SVN パスワードを指定してください。

構成ディレクトリ

代替の Subversion 構成ディレクトリを指定するか、デフォルトのディレクトリを使用することができます(推奨)。この設定は、エージェント側のチェックアウトにも適用されます。TeamCity は認証を SVN 構成ディレクトリに保存しませんが、そこに保存されている設定を読み取ることができます。

デフォルトの構成ディレクトリを使用する

このオプションを有効にすると、これが SVN 接続のデフォルトの構成ディレクトリになります。

外部サポート

次のオプションのいずれかを選択して、SVN 外部処理を制御します。

  • フルサポート (変更の読み込みとチェックアウト) : TeamCity はすべての構成ソース (外部からのソースを含む) をチェックアウトし、外部の変更に関する情報を収集して変更タブに表示します。このオプションを有効にするとリビジョンにタイムスタンプが追加される(英語)ため、バージョン設定が影響を受ける可能性があることに注意してください。

  • チェックアウトしますが、変更を無視します : TeamCity は外部からソースをチェックアウトしますが、外部のソースファイルの変更は収集されず、変更タブに表示されません。複数の SVN 外部があり、外部のソースファイルに加えられた変更に関する情報を取得したくない場合は、このオプションを使用できます。

  • 外部を無視 : TeamCity は構成された svn:externals プロパティを無視するため、TeamCity は変更をチェックしたり、SVN 外部からソースファイルをチェックアウトしたりしません。

HTTPS 接続: 信頼できない SSL 証明書を受け入れる

有効にすると、TeamCity は適切に署名された SSL 証明書なしで SVN サーバーに接続できます。

SSH 設定

オプション

説明

秘密鍵ファイルのパス

OpenSSH 形式の秘密鍵が含まれるファイルへの完全パスを指定します。

SSH キーを TeamCity にアップロードも指定できます

秘密鍵ファイルのパスワード

SSH 秘密鍵のパスワードを入力してください。

SSH ポート

SSH が使用するポートを指定してください。

キーでは OpenSSH 形式のみがサポートされています。TeamCity でサポートされていない形式の鍵は、OpenSSH 形式に変換する必要があります(たとえば、Putty 秘密鍵(*.ppk)は PuTTYgen.exe を使用して変換できます: 変換 | OpenSSH キーをエクスポートするを参照)。

エージェント設定のチェックアウト

オプション

説明

作業コピーの形式

作業コピーの形式を選択します。このオプションで使用可能な値は 1.4 ~ 1.8 (現在のデフォルト) です。
このオプションは、エージェントモードでチェックアウトを使用する場合に、.svn ディレクトリにある Subversion ファイルの形式バージョンを定義します。指定された形式は、次の 2 つの場合に重要になります。

  • TeamCity によってチェックアウトされたファイルに対してコマンドライン svn コマンドを実行する場合。例: 作業コピーのバージョンが 1.5 の場合、Subversion 1.4 バイナリを使用して作業コピーを使用することはできません。

  • 新しい Subversion 機能を使用する場合、たとえば、Subversion 1.6 で追加されたファイルベースの外部などです。作業コピー形式を 1.6 に設定しない限り、ファイルベースの外部はエージェントモードでのチェックアウトでは使用できません。

更新前に元に戻す

このオプションを選択すると、TeamCity はソースを更新する前に常に svn revert コマンドを実行します。つまり、チェックアウトディレクトリにあるバージョン管理されたファイルのすべての変更を元に戻します。このオプションが無効で、更新プロセス中にローカルの変更が検出されると、TeamCity は更新後に svn revert を実行します。
TeamCity は、元に戻すときに作業ディレクトリ内のバージョン管理されていないファイルを削除しません。バージョン管理されていないファイルを削除するには、Swabra の使用を検討してください。

ラベリング設定

オプション

説明

ラベル付け規則

リポジトリの構造を定義する、改行で区切られた一連のルールを指定します。詳細については、詳細な形式の説明を参照してください。

SVN 外部認証

TeamCity では、ユーザーインターフェースで SVN 外部認証パラメーターを明示的に指定することはできません。SVN 外部サーバーで認証するために、以下のアプローチが使用されます。

  • メインリポジトリと同じ認証情報(ユーザー名 / パスワード)を使用して認証する

  • 明示的なユーザー名 / パスワードなしで認証します。この場合、認証情報はすでに svn プロセスで利用可能であるべきです(通常、それらは subversion 構成ディレクトリに保存されています)。そのため、これには SVN 接続設定に正しい " 構成ディレクトリ " または "Default Config Directory" オプションを設定する必要があります。

TeamCity が外部の SVN に接続しなければならないとき、以下のシーケンスを使います:

  • SVN 外部 URL がメインリポジトリと同じ接頭辞を持つ場合(20 文字以上の一致がある場合)、TeamCity は最初にメインリポジトリの認証情報を試し、失敗した場合は username/password なしで接続を試みます。(彼らは SVN 構成ディレクトリから拾いました)

  • SVN 外部 URL がメインリポジトリと著しく異なる場合は、TeamCity はユーザー名 / パスワードなしで接続を試み、失敗した場合はメインリポジトリからの資格情報を使用します。

タイムアウト

リモート SVN サーバーの SVN チェックアウト操作が、svn: E175002: timed out waiting for server のようなエラーで失敗する場合があります。通常、これはネットワークの速度低下または SVN サーバーのオーバーロードが原因で発生する可能性があります。接続および読み取り操作のタイムアウト値を構成できます。

接続タイムアウト

接続タイムアウトは、TeamCity が SVN サーバーへの接続を作成するときに適用されます。この操作のデフォルトのタイムアウトは 60 秒であり、teamcity.svn.connect.timeout プロパティを介して秒単位で指定できます。

プロパティの値は、サーバー側のチェックアウトとエージェント側のチェックアウトで異なる方法で設定されます。

読み取りタイムアウト

SVN サーバーとの接続が確立され、TeamCity がサーバーからのデータを待っているときに、読み取りタイムアウトが使用されます。タイムアウトの値は SVN サーバーアクセスプロトコルによって異なります。

HTTP/HTTPS 経由の Subversion サーバーアクセス (サーバー / エージェント両方)

HTTP 読み取りタイムアウトの場合、TeamCity は Subversion 構成ディレクトリの servers ファイルで指定された http-timeout 設定を使用します。Win32 システムでは、このディレクトリは通常、ユーザーのプロファイルディレクトリのアプリケーションデータ領域にあります。Unix/Mac では、このディレクトリは通常、TeamCity サーバー / エージェントを実行するユーザーアカウントの $HOME/.subversion という名前です。

指定しない場合、タイムアウトのデフォルト値は 1 時間です。

svn:// または svn + ssh:// 経由の Subversion サーバーアクセス

この場合、読み取りタイムアウトは、TeamCity teamcity.svn.read.timeout 内部プロパティを介して秒単位で指定できます。デフォルト値は 30 分です。

プロパティの値は、サーバー側のチェックアウトとエージェント側のチェックアウトで異なる方法で設定されます。

無視された変更

TeamCity は svn:mergeinfo プロパティの変更を無視し、特定のコミットでこれらのプロパティのみが変更された場合はディレクトリが変更されたとは見なしません。

無視される SVN プロパティのリストは、TeamCity 内部プロパティ teamcity.svn.ignorable.properties を介して変更できます。このプロパティの値は、SVN プロパティのコンマ区切りのリストです。デフォルト値は svn:mergeinfo です。

2025 年 4 月 07 日

関連ページ:

ビルドでのユーザーの変更の表示

コードベースの品質を監視することは、開発チームにとって不可欠です。プロジェクト開発者は、コミットによってビルドが失敗したかどうかを確認する必要があります。プロジェクトリーダーにとって、ビルドの失敗の障害のあるコードを検出して状況を早期に修正できるようにすることが重要です。これにより、チームの他のメンバーが不便を感じることはありません。TeamCity UI の変更ページでは、すべての TeamCity ユーザーによって行われたコミットを確認し、それらがビルドにどのように影響したかを確認できます。...

バージョン管理でのプロジェクト設定の保存

TeamCity では、プロジェクト設定をバージョン管理リポジトリ(VCS)と同期できます。サポートされている VCS は、Git、Mercurial、Perforce、Subversion、Azure DevOps Server(旧 TFS)です。プロジェクト設定を XML 形式または Kotlin 言語で保存し、Kotlin ベースの DSL を使用してプログラムで設定を定義できます。重要なポイント:この機能は何をしますか ? 個々のプロジェクトの設定を XML または Kotlin 形式でリモ...

VCS チェックアウト規則

VCS チェックアウトルールを使用すると、構成された VCS ルートの一部をチェックアウトし、バージョン管理のディレクトリをビルドエージェントのビルドチェックアウトディレクトリのサブディレクトリにマップすることができます。リポジトリ全体の VCS ルートを定義し、各ビルド構成にその関連部分のみをチェックアウトするように指示することができます。チェックアウトルールは、UI に表示されるビルドの変更と、エージェント上のビルドでチェックアウトされるファイルに影響します。コミットがビルドの VCS ルー...

SSH 鍵管理

秘密 SSH キーを TeamCity プロジェクトにアップロードできます。アップロードされたキーは、VCS ルートの設定時および SSH エージェントビルド機能で使用できます。サポートされているキー形式:TeamCity は、PEM および OpenSSH 形式のキーをサポートします。異なる形式を使用するキーは変換する必要があります。例:PuTTY キージェネレーターを使用して、サポートされていない Putty 秘密鍵 () を PEM 形式に変換できます。これを行うには、変換 | OpenS...

VCS ラベリング

TeamCity は、バージョン管理システムで特定のビルドのソースに(自動または手動で)ラベルを付ける(タグを付ける)ことができます。適用されたラベルとその適用ステータスのリストは、ビルド結果の変更タブに表示されます。自動 VCS ラベル付け:TeamCity を設定して、ビルドのステータスに応じてビルドのソースに自動的にラベルを付けることができます。ラベル付けは標準の通知イベントではありません。ビルドが終了した後にバックグラウンドで実行され、ビルドステータスには影響しません。ただし、現在のビ...