配信サーバ

配信サーバを使用すると、メインサーバに直接アクセスすることなく、制限付きのコンテンツや履歴情報をサードパーティユーザに公開することができます。内部サーバにはアクセスできないパブリックネットワーク上に配信サーバを配置すると、内部ネットワークとサードパーティユーザを効率的に分離することができます。

データの流れ

  1. 内部サーバがp4 pushコマンドを使用して、DMZ (内部サーバにアクセスできない場所)に配置されている配信サーバにコンテンツをプッシュします。配信サーバに対してp4 submitコマンドを実行することはできません。

  2. (オプション) 配信サーバ上のコンテンツは、DMZ内の1つ以上のエッジサーバに複製することができます。

    配信サーバのレプリカを作成することができます。例えば、配信サーバのエッジサーバを地理的に分散した場所に作成することにより、配信サーバから離れた場所にいるサードパーティユーザの同期速度を上げることができます。

  3. 外部ユーザがp4 syncコマンドを使用して、コードを取得します。

前提条件

  • リリース2023.1以降のHelix Coreサーバが必要です。

  • 配信サーバを使用するためのライセンスが必要です。配信サーバは、Helix Coreサーバ2023.1と同時にリリースされた新機能です。配信サーバのライセンスを購入する場合は、Perforceアカウント担当者にお問い合わせください。

セキュリティに関する考慮事項

  • Helix Coreの標準的な保護機能は、ターゲットサーバ上のコンテンツを保護するための機能です。

  • コンテンツをプッシュするには、内部サーバを配信サーバに接続する必要があります。

  • ターゲットサーバ上で定義されているユーザとグループはソースサーバからは独立しているため、ソースサーバからターゲットサーバに対してユーザの詳細情報が公開されることはありません。

  • チェンジリストのメタデータについては、公開されます。

配信サーバの設定

  1. 配信サーバにプッシュするコンテンツを決定します。

  2. 変更番号に関するビジネスルールを決定します。

    • チェンジリストサーバ(P4CHANGE)が設定されていない場合、新しいチェンジリストを作成するにはp4 pushコマンドを実行する必要があります。外部ユーザには、list権限だけを付与する必要があります。「p4 protectコマンドでプロテクションを設定する」を参照してください。

    • 外部ユーザは、集中チェンジリストサーバで作業中の変更を作成できますが、適切なユーザだけがプロテクションテーブルにアクセスできるように管理する必要があります。

  3. Perforceアカウント担当者に連絡し、配信サーバを使用するユーザ数を伝えて、配信サーバのライセンスを取得します。

  4. 配信サーバのライセンスファイルをP4ROOTにコピーして、配信サーバを起動します。

  5. Services: distribution-serverコマンドを実行して、サーバ仕様を作成します(Helix Coreコマンドライン(P4)リファレンスの「p4 server」を参照)。

  6. p4 serverid SERVER-SPEC-NAMEコマンドを実行して、配信サーバがサーバ仕様を使用するように設定します。

  7. (オプション) 配信サーバにプッシュされた変更番号を保持する場合は、p4 configure set dm.fetch.preservechangenumbers=1コマンドを実行します。

  8. p4 configure set server.allowpush=2コマンド実行して、配信サーバによるプッシュ操作を許可します。

  9. 内部のコミットサーバで、以下の手順を実行します。

    1. p4 configure set server.allowpush=1コマンドを実行します(このコマンド内の構成可能変数にまだ値が設定されていない場合)。

    2. 配信サーバのリモート仕様を作成します。

    3. 上記のリモート仕様を使用する配信サーバに対して、p4 pushコマンドを実行します。この操作は、手動で実行することも、cronジョブとしてスクリプト化することも、継続的な統合処理の一部として実行することもできます。