ゲームエフェクトデザイナーのブログ (新)

レポート記事とかUE4のマテリアルとか。C#とかも触ったり。

Helix Core(Perforce)の基本構成

前回Helix Core ServerP4V をインストールしてローカルマシン1台でバージョン管理を試せるようにしてみました。

ですが、そもそも Helix Core(旧称 Perforce)の基本的な構成というか‥世間一般の企業での運用の枠組み自体についての知識が皆無だったので、p4miscさんにお話を伺って自分なりの理解でまとめてみました(p4micsさんありがとうございます!)

私の理解が間違ってる箇所もあるかと思いますので、何か気になる点などありましたらぜひツッコミいただけるとありがたいです。


まず、前回試したのは個人ユースで管理者も作業者も自分1人というケースでの導入をまとめたものだったので、今回は一般的な構築のされ方をまずは図にまとめてみました。

サーバー側の構成


●ディポが1つの例

企業やプロジェクトの規模、管理者の負担や運用スタンスなどによって色々と形態は変わるという前提を踏まえつつ‥サーバーマシンに Helix Core Server をインストールし、リポジトリ(Helix Core では Depot / ディポ と呼ばれる)を作成、1つのディポ内で複数のプロジェクトを管理、プロジェクトごとにストリーム(mainlineと呼ばれる本流のブランチがあったり開発用のブランチが内包されるもの)がある‥という構成がこちらの図です。

f:id:moko_03_25:20200823232619p:plain


●ディポが複数の例

ディポを複数、設定することも可能だそうです。

ストリーム周りでディポ単位でしかできない設定があったり、将来的な運用を踏まえてディポを分けたりといったケースが考えられるということです。ですがディポが複数あるケースの方が珍しいのではないかとのことでした。

f:id:moko_03_25:20200823234506p:plain


●サーバーマシンを分けるケース

サーバーによってディポやプロジェクトを分けることで、別プロジェクトの情報が見えてしまうなどのリスクを避けるような場合はこちら。

1つのサーバーに複数プロジェクトの形の場合、他のプロジェクトでアセットを使い回したり管理が楽だったりといった面もあるとのことなので、実際色んなケースがありそうです。

f:id:moko_03_25:20200823235021p:plain


●1つのサーバーマシンに複数の Helix Core Server をインストールするケース

1台のマシンに Helix Core をいくつもインストールすることは可能で、マシンスペックや開発規模にはよるものの、こちらのケースもあり得るとのことです。

仮想マシン環境を利用したり、個人ユースならDockerで管理したり。

f:id:moko_03_25:20200823235612p:plain

 

クライアント側の構成


●一般的な形

サーバーからデータを取得してバージョン管理しながら開発する側のマシンの例です。

企業であれば一般的にはサーバー管理者が作業者個人に紐づくユーザーを作成し、作業者はユーザーとストリームに紐づくワークスペースを作成して作業する形になります。

基本的にはマシン1台に対して1ユーザーになると思いますが、色んなユーザーがログインして作業する共有マシンがある場合、その1台のマシン上にユーザーの数だけワークスペースを作ることになるのではと思います。

また、コマンドラインで操作するならP4(Command-Line Client)、GUIで操作するならP4V(Visual Client)をインストールすることになります。

f:id:moko_03_25:20200824035332p:plain


●サーバーとクライアントを兼用する形

おまけでこちらも。前回の記事で私が導入した形です。

1台のマシンのローカル環境内で Helix Core Server と P4V を両方インストールして、自身がサーバー管理者でもあり作業者でもある形にする場合です。

ちなみに公式サイトから P4(Command-Line Client)単体でDL可能ですが、Helix Core Server をインストールすれば P4 も一緒にインストールされるということです。

f:id:moko_03_25:20200824035346p:plain

 

‥という訳でひとまず今回はここまで。。

※ちなみに、図は「draw.io」で作成しました。とても便利!

 

引き続き、ディポやストリーム等についてまとめたので、よろしければこちらもぜひっ。