TeamCity 2019.1ヘルプ

Perforce

このページには、Perforceを使ってVCSルートを設定するときに利用できるフィールドとオプションの説明が含まれています。
ここでは一般的なVCSルートプロパティーについて説明します。

このページで:

P4接続設定

オプション

説明

ポート

Perforceサーバーのアドレスを指定します。形式は host:portです。特定の環境では、P4Hostは、以下のワークスペースオプションで任意のタイプのチェックアウトに対して指定できます。

ストリーム

このラジオボタンをクリックして、既存のPerforceストリームを指定します。TeamCityはこのストリームを使用してストリームベースのワークスペースを準備し、そのようなワークスペースからのクライアントマッピングを使用します。

TeamCityはルートデポ内のより深いディレクトリー構造をサポートします。このフィールドで //DEPOTNAME/1/2/n の深さのデポを指定できます。
TeamCity 2017.2より前、TeamCityはデポ名の1つ下のレベルに格納されたストリームをサポートします。形式は //streamdepot/streamnameです。

パラメーターがサポートされています。 StreamAtChange オプションの場合は、チェックアウトするラベルフィールドを使用してください。

機能ブランチサポートを有効にする (実験用) - このチェックボックスを選択して、デフォルトのものに加えて変更を監視したいブランチストリームを指定します。改行区切りの規則としてブランチ仕様を入力/編集します。構文は +|-:stream_name です(オプションの * プレースホルダー付き)。

クライアント

このラジオボタンをクリックして、クライアントワークスペース名を直接指定します。ワークスペースは、P4VやP4WinなどのPerforceクライアントアプリケーションによってすでに作成されている必要があります。構成されたクライアントワークスペースからのマッピング規則のみが使用されます。クライアント名は無視されます。

クライアントマッピング

このラジオボタンをクリックして、デポからクライアントコンピューターへのマッピングを指定します。クライアントマッピングが選択されている場合、TeamCityはビルドが実行されるビルドエージェントのOS /プラットフォームに従ってファイル区切り文字を処理します。すべてのビルドエージェントに特定の行区切り記号を強制するには、クライアントマッピングの代わりにPerforceで LineEnd オプションを指定してクライアントまたはストリームを使用します。または、エージェント要件を追加して、特定のプラットフォームでのみビルドを実行することもできます。

例:

//depot/MPS/... //team-city-agent/... //depot/MPS/lib/tools/... //team-city-agent/tools/...

TeamCity 10.0より前、Perforce VCSルートのクライアントマッピングを編集すると、次のビルドの前にクリーンチェックアウトになりました。回避策(英語)が提供されました。

以下の場合、クライアントマッピングの変更に対するクリーンチェックアウトはエージェント側のチェックアウトには適用されません。

  • Perforceクライアント名が使用されているときに、そのクライアントのPerforceクライアントマッピングを変更しても、きれいにチェックアウトされません。

  • Perforceストリームが使用されている場合、同じストリームルートを維持しながらストリーム名を変更しても、きれいにチェックアウトされません。

ダイレクトクライアントマッピングが変更された場合、teamcity.perforce.enable-no-clean-checkout 内部プロパティーがサーバーに設定されていない限り、クリーンチェックアウトが強制されます。

ユーザー名

ユーザーのログイン名を指定してください。

パスワードまたはチケット

パスワードまたはチケットを指定してください。

このフィールドが指定されている場合は、TeamCity

  • 実行されたperforceコマンドに対して、この値をP4PASSWD環境変数として設定します。

  • perforceサーバーでパスワードベースの認証が無効になっている場合、p4 login コマンドのパスワードとしてこのフィールドを使用します。

パスワードがまったく指定されていない場合、TeamCityは現在のユーザーの既存のp4チケット(p4ticket.txt)に依存し、チケットが存在しない場合は失敗します。

チケットファイルは、TeamCityがこのVCSルート用にビルドされたperforceビルドを実行するすべてのビルドエージェントとTeamCityサーバーに存在する必要があります。(サーバーもperforceコマンドを実行するため)

チケットベースの認証

チケットベースの認証を有効にするには、このオプションをオンにします。このオプションはデフォルトで有効になっており、表示されません。

チェックアウトルールの大文字と小文字の区別なし

TeamCityでのPerforceサポートは、チェックアウト規則を大文字と小文字を区別して扱うことに注意してください: チェックアウト規則の編集フォームに次のコメントを追加すると、バージョン管理設定ページでPerforceベースのビルド設定の大文字と小文字を区別しないようにすることができます: ##teamcity ignore-case

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

エージェント側のチェックアウトを使用すると、TeamCityは各チェックアウトディレクトリー / VCSルートに対してPerforceワークスペースを作成します。これらのワークスペースは必要に応じて自動的に作成され、アイドル時間が経過すると自動的に削除されます。TeamCityによって生成される名前をカスタマイズすることは可能です:パラメーターページで値に接頭辞を付けて teamcity.perforce.workspace.prefix 設定パラメータを追加してください。

オプション

説明

ワークスペース・オプション

必要に応じて、p4クライアント(英語)コマンドに Options , SubmitOptionsLineEndのオプションを設定できます。
特定の環境では、P4Hostをあらゆる種類のチェックアウトに対してここで指定できます。

非ストリームワークスペースを作成する

TeamCity 2018.2以降)このオプションは、接続設定で「ストリーム」が選択されている場合にのみ使用可能です。ストリーム仕様に基づいて、ストリーム以外のワークスペースを使用してチェックアウトできるようにするには、このオプションを有効にします。これにより、チェックアウト規則を使用できますが、ビルド内でストリームにコミットすることは不可能になります。

クリーンアップのために 'p4 clean'を実行してください

ビルドの前に余分なファイルからワークスペースをクリーンアップするには、このオプションを有効にします(p4 2014.1以降)。有効にすると、p4 sync -f または p4 sync -p が使用されない限り、p4 clean コマンドは p4 sync commandの前に実行されます。コマンドリファレンスを参照してください(英語)

所有リストの更新をスキップする

同期中にPerforceサーバー上のファイルを追跡しないようにするには、このオプションを有効にします(常にすべてのファイルをエージェントp4同期-p(英語)に転送します)。

追加同期オプション

--parallelなどの追加の p4 sync オプションを指定します。コマンドリファレンスを参照してください(英語)

Perforceワークスペースパラメータ

エージェントのチェックアウトでは、TeamCityはチェックアウトプロセス中に作成されたPerforceワークスペースを記述する環境変数を提供します。
チェックアウトに複数のPerforce VCSルートが使用されている場合、変数は最初のVCSルートに対して作成されます。変数は以下のとおりです。

  • P4USER - vcsroot.<VCS root ID>.user パラメータと同じ

  • P4PORT - vcsroot.<VCS root ID>.port パラメータと同じ

  • P4CLIENT - エージェント上で生成されたP4ワークスペースの名前。これらの変数を使用して、チェックアウト後にカスタムp4コマンドを実行できます。

詳細: Perforceでのワークスペース処理TeamCity

Perforceプロキシ設定

エージェント側のチェックアウトでPerforceプロキシーを使用できるようにするには、ビルド・エージェントenv.TEAMCITY_P4PORT 環境変数を指定すると、エージェントはこの値を P4PORT 値として使用します。

その他の設定

ビルドエージェント上のP4パス

Perforceコマンドラインクライアントの p4.exe ファイルへのパスを指定します。

このフィールドは、エージェント側のチェックアウトではエージェント側でのみ機能します(TeamCity 2017.2.2より前このパスはサーバー側のチェックアウトとエージェント側のチェックアウトの両方に使用されていました)。サーバーの場合、p4バイナリがPATHに含まれている必要があります。TeamCityサーバーの場合、または teamcity.perforce.customP4Path 内部プロパティーで指定できます。

以前の動作に戻すには、teamcity.perforce.p4PathOnServerWhitelist 内部プロパティーを使用して、セミコロンで区切られた許可されたp4パスのリストを指定できます。

同期するラベル/変更リスト

最新のリビジョンではなく、特定のPerforceラベル(選択的な変更を含む)でソースをチェックアウトする必要がある場合は、ここでこのラベルを指定できます。たとえば、これはマイルストーン/リリースビルド、または再現ビルドを作成できます。このフィールドを空白のままにすると、最新の変更リストが同期に使用されます。

文字セット

クライアントコンピューターで使用されている文字セットを選択します。

UTF-16エンコーディングをサポート

プロジェクトにUTF-16ファイルが utf16 Perforceファイルタイプ(英語)として保存されている場合は、このオプションを有効にします。

デポでサーバー側のチェックアウトと utf16のファイルがあります Perforceファイルタイプ(英語)を使用している場合は、このオプションを有効にすることをお勧めします。チェックアウトされたファイルが UTF-16 エンコーディングになるようにこのフラグを有効にします。そうでない場合は、そのようなファイルはチェックアウト時に UTF-8 に変換されるかもしれません。

UTF-16 ファイルを binary Perforceファイルタイプ(英語)として保存すると、それらは常に「そのまま」チェックアウトされ、変換は実行されません。

Perforce Jobsのサポート

1つ以上の関連ジョブでチェックインされた変更リストの場合、TeamCityにはレンチアイコン wrench.png が表示され、クリックまたはホバーしたときにジョブの詳細を表示できます。

ロギング

すべてのPerforceプラグイン操作は、カテゴリjetbrains.buildServer.VCS.P4teamcity-vcs.logファイルに記録されます(操作コンテキストに応じて、エージェントまたはサーバー上)。詳細なロギングはTeamCityサーバーログで有効にできます。

Perforceでのワークスペース処理TeamCity

別ページを参照してください。

Perforce VCSの互換性

別ページを参照してください。

Perforce機能としてのストリームブランチ

別ページを参照してください。


関連事項:

管理者ガイド : VCSチェックアウトモード