TeamCity 2019.1ヘルプ

Subversion

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

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

TeamCityサーバーまたはエージェントにSubversionクライアントをインストールする必要はありません。TeamCityは、SVNクライアント(SVNKit(英語))のJava実装をバンドルしています。

SVN接続設定

オプション

説明

URL

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

ユーザー名

SVNユーザー名を指定してください。

パスワード

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

構成ディレクトリー

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

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

これをSVN接続のデフォルト構成ディレクトリーにするには、このオプションをオンにします。

外部サポート

SVN外部処理を制御するには、以下のいずれかのオプションをチェックしてください。

  • フルサポート(変更のロードとチェックアウト) - このオプションを選択すると、TeamCityはすべての設定のソース(外部からのソースを含む)をチェックアウトし、外部の変更に関する情報を変更タブに集めて表示します。

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

  • 外部を無視 - このオプションを選択すると、TeamCityは設定された svn:externals プロパティーを無視するため、TeamCityはSVN外部からの変更の確認やソースファイルの確認を行いません。

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

(10.0で信頼できない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内部プロパティー 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分です。このプロパティーの値は、サーバー側のチェックアウトとエージェント側のチェックアウトでは異なります。

その他

svn:mergeinfo Subversionプロパティーの変更のみがある場合、ディレクトリーは変更されたと見なされません。詳細をご覧ください。


関連事項:

管理者ガイド : VCS設定値の設定 | VCSチェックアウトモード