はじめに
Swarm
Perforce Swarmは強力で柔軟なコードレビューおよびコラボレーション向けのソリューションで、高品質なソフトウェアを迅速に出荷できるようにします。Swarmはコミット前またはコミット後にコードやその他のアセットをレビューすることを可能にするほか、さまざまなワークフローに合わせてカスタマイズできます。SwarmはPerforce内のレビュー、プロジェクト、コメントを含め、すべてのメタデータを保存します。外部データベースのバックアップが不要な優れたソリューションです。Swarmの使用およびインストールの詳細情報は、Swarmドキュメンテーションを参照してください。
レビューのワークフロー
以下はSwarmレビューの一般的なワークフローです。これ以外のワークフローおよびバリエーションについては、Swarmドキュメンテーションガイドを参照してください。
-
ファイルにローカル変更を加える:Swarmレビューではプリコミットまたはポストコミットワークフローを使用できます。どちらのモードにおいても、作成者は1つ以上のファイルにローカル変更を加え、これらの変更内容をPerforceにコミットする必要があります。
-
レビューを要求する:プリコミットコードレビューの場合、SwarmソリューションではPerforceの保留テクノロジーを使用して、内容をPerforceにコミットします。ポストコミットコードレビューの場合、Perforceにコミットされた内容はレビューに追加されます。どちらの場合においても、SwarmレビューはID、説明、ファイルセットのほか、作成者、レビュー担当者、レビューコメントを含むその他のメタデータを使用して作成されます。
-
レビューフィードバックを提供する:レビュー担当者はSwarmを使用してファイルまたはファイルの各行に関するコメントを作成できます。また、レビュー担当者はフォローアップタスクを追加し、レビューを終了する前に作成者に対応を求めることもできます。
-
リビジョンを要求する:レビュー担当者が(よくあることですが)追加作業が必要であると判断した場合、レビューの状態をリビジョンが必要に変更し、作成者に対応が必要であることを通知できます。
-
追加レビューを要求する:作成者はレビュー内容の変更分について再度レビューし、割り当てたタスクを更新するように要求できます。これにより、レビュー担当者は作成者からのフィードバックが届いたことがわかります。
-
レビューを承認または却下する:レビューはSwarmを使用して承認または却下できます。レビューは承認または却下されると、終了したものと見なされます。
-
レビューをコミットする:プリコミットレビューの場合、作成者はP4VやP4VSなどのPerforceクライアントを使用してレビューをコミットできます。このシナリオでは、プリコミットコードレビューをコミットすることは、レビューに関連付けられているチェンジリストをサブミットすることと同じになります。また、任意指定でSwarmを使用してプリコミットレビューをコミットすることもできます。
Swarmの統合をセットアップする
P4Vの統合の最小要件は、Swarmバージョン2014.4です。P4Vの統合はSwarmバージョン2014.3以降でのみ可能です。Swarm 2014.3では、P4Vの統合でレビュー担当者として割り当てるユーザーを選択する際、レビュー担当者の必須オプションが表示されませんが、Swarm 2014.4以降では、P4V統合でレビュー担当者の必須オプションが表示されます。
Swarmの統合が有効になっていない場合、Swarmの新機能を使用することはできません。この統合はPerforceサーバーごとに有効にする必要があります。P4VでSwarm機能を有効にするには、Perforce管理者がSwarm URLを指定してp4 propertyコマンドを実行する必要があります。これにより、PerforceサーバーにSwarm URLを通知します。P4Vの統合では、SwarmサーバーにAPI要求を送る際、このURLを使用します。
例 実行するp4 propertyコマンド:
p4 property -a -n P4.Swarm.URL -v https://swarm.yourcompanydomain.com
https://swarm.yourcompanydomain.com
はお使いのSwarmサーバーのURLです。
Swarm統合をテストする際、特定のユーザーのプロパティを設定したい場合があります。たとえば、username
というユーザーに対してSwarmの統合を有効にする場合は、以下のように指定します。
p4 property -a -uusername
-n P4.Swarm.URL -vhttps://swarm.yourcompanydomain.com
同様に、特定のユーザーグループに対してSwarmの統合を有効にできます。たとえば、group
というグループに対してSwarmの統合を有効にする場合は、以下のように指定します。
p4 property -a -ggroup
-n P4.Swarm.URL -vhttps://swarm.yourcompanydomain.com
注意
P4VはSwarmの統合のタイムアウトを使用してP4Vユーザーインタフェースの遅延を制限します。タイムアウトを調整するには、以下のように指定します。
p4 property -a -n P4.Swarm.Timeout -v 10
タイムアウトは秒単位で測定されます。デフォルトは10秒です。特定のユーザーまたはグループにタイムアウトを設定するには、それぞれ-u
またはusername
-g
オプションを指定します。
group
Swarmの認証
P4Vはユーザーの既存のPerforceチケットを使用してSwarmと通信します。承認エラーが発生する場合は、[ログイン時にIP固有のチケットを使用]が無効になっていることを確認します。これは、-a
オプションをp4 loginコマンドとともに使用して、チケットをすべてのマシン上で使用できるようにすることと同じです。