FAQ

PERFORCE

運用方法に関するFAQ

QPerforceHelix サーバのバックアップについて教えてください。

FAQ ID:7

A

Perforce Helix サーバのバックアップについては、こちらの動画をご覧ください。
ご参考に弊社のバックアップ運用で実績のあるスクリプトを紹介いたします。

- Perforce Helix バックアップスクリプト

- 本スクリプトは、弊社のバックアップ運用において動作実績があるスクリプトです。
- 動作させるには、お客様の環境に合わせて一部内容を変更する必要があるかもしれません。ロジックをご参考にしていただければ幸いです。
- p4_backup3.pl の冒頭コメント部分に記載している情報(機能概要、注意事項など)を必ずお読みください。

- ご不明な点がございましたら、こちらまでご遠慮なくお問い合わせください。

回答を閉じる

Qどのようなログイン認証が可能ですか?また、認証先にLDAPサーバ(Active Directory、OpenLDAPなど)を利用することはできますか?

FAQ ID:11

A
Helixサーバは、以下の2つの認証方式をサポートしており、LDAPサーバ(Active Directory、OpenLDAPなど)と連携したログイン認証もサポートしています。 ■ 認証方式
 1. Helixデータベースを利用したログイン認証
 2. LDAPと連携したログイン認証


1. Helixデータベースを利用したログイン認証
通常、Helixサーバへのログイン認証には、Helixサーバ(Helixデータベース上)に登録されたユーザ情報を利用します。

この認証処理の流れは以下のとおりです。


2. LDAPと連携したログイン認証
ログイン認証にLDAPサーバの情報を利用することもできます。LDAP連携には、Helixサーバ上にユーザ情報が必要となりますが、パスワード情報は必要ありません。なお、代表的なActive DirectoryやOpenLDAPをサポートしており、Helixサーババージョン2015.1以降からは、以下の2種類の認証方法に対応しています。

■ 2種類の認証方法
 ・LDAP仕様を利用した方法
 ・認証トリガを利用した方法


これらの認証処理の流れは以下のとおりです。

 

回答を閉じる

QLinuxパッケージを利用してPerforceサーバをインストールすることができますか?

A
はい、可能となります。対応しているLinuxディストリビューションは、Debian(.deb) for Ubuntu systemsとRPM (.rpm) for CentOS and RedHat Enterprise Linux (RHEL)になります。 ・Debian(.deb) for Ubuntu systems
・RPM (.rpm) for CentOS and RedHat Enterprise Linux (RHEL)

Debian(.deb) for Ubuntu systems1.Perforceパッケージ用リポジトリの作成
Perforceパッケージ用のリポジトリを作成します。ご利用中のOSバージョンにより記載内容が異なります。

For Ubuntu 12.04:
ファイル名"/etc/apt/sources.list.d/perforce.list"を以下の内容で作成します。deb http://package.perforce.com/apt/ubuntu/ precise release
For Ubuntu 14.04:
ファイル名"/etc/apt/sources.list.d/perforce.list"を以下の内容で作成します。deb http://package.perforce.com/apt/ubuntu/ trusty release
For Ubuntu 16.04:
ファイル名"/etc/apt/sources.list.d/perforce.list"を以下の内容で作成します。deb http://package.perforce.com/apt/ubuntu/ xenial release
2. PERFORCEパッケージ署名鍵のインポート
次のコマンドを実行して署名鍵をインポートします。$ wget -qO - https://package.perforce.com/perforce.pubkey | sudo apt-key add -
3. Perforceパッケージのインストール
次のコマンドを実行し、Perforceパッケージをインストールします。$ sudo apt-get update
$ sudo apt-get install helix-p4d ※引数として設定されている"helix-p4d"を"helix-proxy"、"helix-broker"に置き換えていただくことで、Perforceプロキシサーバ、Perforceブローカーサーバをインストールすることができます。

- インストールされるパッケージ helix-cli
helix-cli-base
helix-p4d-base
helix-p4d-base-17.1
helix-p4dctl ※現在の最新バージョンP4D2017.1がインストールされます。


RPM (.rpm) for CentOS and RedHat Enterprise Linux (RHEL)1.Perforceパッケージ用リポジトリの作成
Perforceパッケージ用のリポジトリを作成します。ご利用中のOSバージョンにより記載内容が異なります。

For CentOS/RHEL 6:
ファイル名"/etc/yum.repos.d/perforce.repo"を以下の内容で作成します。 [perforce]
name=Perforce
baseurl=http://package.perforce.com/yum/rhel/6/x86_64/
enabled=1
gpgcheck=1
For CentOS/RHEL 7:
ファイル名"/etc/yum.repos.d/perforce.repo"を以下の内容で作成します。 [perforce]
name=Perforce
baseurl=http://package.perforce.com/yum/rhel/7/x86_64/
enabled=1
gpgcheck=1
2. PERFORCEパッケージ署名鍵のインポート
次のコマンドを実行して署名鍵をインポートします。# rpm --import https://package.perforce.com/perforce.pubkey
3. Perforceパッケージのインストール
次のコマンドを実行し、Perforceパッケージをインストールします。# yum install helix-p4d ※引数として設定されている"helix-p4d"を"helix-proxy"、"helix-broker"に置き換えていただくことで、Perforceプロキシサーバ、Perforceブローカーサーバをインストールすることができます。

- インストールされるパッケージhelix-cli
helix-cli-base
helix-p4d-base
helix-p4d-base-17.1
helix-p4dctl ※現在の最新バージョンP4D2017.1がインストールされます。
 

回答を閉じる

QPerforceユーザはどのように削除できますか?また、どのような情報が一緒に削除されますか?

A
Perforceユーザ削除の方法は、コマンドラインによる削除とP4V [管理]ウィンドウ(P4Admin)による削除の2つの方法があります。

- Perforceユーザ削除の方法 -
1.コマンドラインによるユーザ削除方法
2.P4V [管理]ウィンドウ(P4Admin)による削除方法


1.コマンドラインによるユーザ削除方法
 例:削除ユーザ(mei)
  - コマンド
   p4 user -d mei
  - コマンド結果
   User mei deleted.

コマンドラインで p4 user -d [-f] xxxx を実行した場合、ユーザと一緒に、自動的に削除される情報はありません。
※スーパー権限を持ったユーザで [-f] オプションを指定すると強制的にユーザを削除することができます。


2.P4V [管理]ウィンドウ(P4Admin)による削除方法

① P4Vメニューバー[ツール(T)] - [管理(A)] (図1)を選択します。もしくは、P4Adminプログラム(図2)を直接起動します。





図1 P4Vメニューバー[ツール(T)] - [管理(A)]




図2 P4Adminアイコン

② [ユーザとグループ]タブ(図3)を選択します。





図3 管理ウィンドウ[ユーザとグループ]タブ

③ 削除対象のユーザを選択し右クリックからコンテキストメニュー(図4)を開き、[ユーザ 'mei' を削除(D)... ] を押下します。












④ [ユーザを削除] ウィンドウから、ユーザ削除と一緒に削除される情報を確認します。
P4V の[管理]ウィンドウ(P4Admin)からユーザを削除する場合は、図5の枠内の情報が一緒に削除されます。それらの情報はすべて、[ユーザを削除]ウィンドウ上に表示されています。(隠れて削除される情報はありません。)











- 赤枠:当該ユーザが所有するチェンジリスト
 (そのチェンジリストにおいてチェックアウトされているファイルは、元に戻されます)
- 青枠:当該ユーザが所有するワークスペース
- 緑枠:当該ユーザに関するパーミッションの情報(オプション)
※削除ユーザの作業中チェンジリストにある保留中ファイルを削除する場合は、[ユーザの作業中チェンジリストにある保留中ファイルを削除する(S)] のチェックボックスにチェックを入れてください。

⑤ ユーザ削除と一緒に削除される情報が削除しても問題がない場合、[ユーザを削除(D)] ボタンを押下しユーザを削除します。

- 補足情報 -
ユーザ削除と同時に、履歴情報などが削除されることはありません。
しかし、ユーザを削除されると、後々に履歴を確認する際、該当ユーザの実担当者を特定することが困難になる場合があります。また別の実担当者に旧ユーザと同名のユーザを割り当てた場合、履歴情報の追跡が困難になってしまう状況も想定されます。Perforce には、この状況を補助する機能として、スペック・ディポという機能が用意されております。
 

回答を閉じる

Q使用しているマシンを変更しました。以前のマシンで作成したワークスペースを新しいマシンに移行する方法はありますか。

FAQ ID:6

A
マシンを変更する場合は、以前のマシンのワークスペース配下に同期している ファイルを新しいマシンに移動することで、Perforce Helixサーバからファイルを 再取得することなくワークスペースを移行することができます。 以下に手順を示します。 1. 以前のマシンのワークスペースルート配下に同期しているすべてのファイルを 新しいマシンのワークスペースルートにする予定のディレクトリにコピーします。 2. P4VにてPerforce Helixのワークスペース(オブジェクト)を表示し、 移行対象のワークスペースを右クリックして[ワークスペースを編集]を選択します。 3. ワークスペースの編集画面の[基本]タブにて次の箇所を変更します。 変更対象: [ワークスペース・ルート] 変更後の値: 新しいマシンのワークスペースルートにする予定のディレクトリ 4.ワークスペースの編集画面の[詳細]タブに切り替えて次の箇所を変更します。 変更対象: [ホスト] 変更後の値: 新しいマシンのホスト名 注意事項: 通常は上記の手順でワークスペースを移行することができますが、ファイルシステム レベルで"以前のマシン上のファイル"と"新しいマシン上のファイル"に差異が生じる 可能性もございます。 このため、Perforce Helixは、所有リビジョンの情報が正確にコピーされていること を保証できないという点をご了承下さい。

回答を閉じる

Q地理的に分散した拠点における同時並行開発をサポートしますか?

FAQ ID:5

A
サポートします。地理的に分散した拠点間で情報を共有するには、 「中央のリポジトリに対して高速にネットワーク・アクセスする」か 「リポジトリの複製を用いてそれらを同期する」という手法が考えられます。 PERFORCEは、前者の手法を採用しています。
PERFORCEのファイル・アクセスにおいては、特定のネットワーク・ファイルシステム(NFS等)を 必要とせず、またデータのトラフィックも最小限に抑えられています。 つまり、WANのようなThin Network(細いネットワーク)においても十分なパフォーマンスが得られるため、 「リポジトリの複製を用いてそれらを同期する」ための面倒な環境と管理手順を必要としません。
P4Proxyを使えば、ネットワークのパフォーマンスを さらに改善することができます。

回答を閉じる

Qジョブの項目(ジョブ仕様)をカスタマイズできますか?

FAQ ID:4

A
できます。既存の項目に対して、さらに新規の項目(障害のカテゴリ、担当グループ、モジュール名、 要求仕様書の項目番号 等)を自由に追加することができます。 さらに、追加した項目については、入力必須か否か、デフォルト値、選択肢等を指定することが可能です。

回答を閉じる

Q特定の条件を満たさない場合、ディポへのサブミットを禁止させることはできますか?

FAQ ID:2

A
できます。PERFORCEのトリガ機能を用いることにより、サブミット前に条件を検査し、 NGであれば自動的にサブミットを中止させることができます。これにより、 「サブミットできるユーザを限定する」「チェンジにジョブが関連付けられていない場合、 サブミットを禁止する」というようなプロセスを実現することができます。

回答を閉じる

Q1つのジョブに複数のチェンジを関連付けられますか? また、1つのチェンジに複数のジョブを関連付けられますか?

FAQ ID:3

A
両方とも可能です。ジョブは「実施しようとしている変更(要求)」、 チェンジは「実施した変更」であり、ジョブとチェンジには多対多の関係を持たせることができます。 例えば、「I/Fミスの障害対応」というジョブに対して「foo.cおよびbar.cを修正するチェンジ00567」と 「msg.cを修正するチェンジ00612」が割り当てられている時、別の「リストが表示できない障害の修正」という ジョブに対して、すでに定義してあるチェンジ00567と00612を関連付けることができます。 発生した障害に対して、原因(修正するファイル)が同じだった場合、このようなケースになります。

回答を閉じる

Qディポに対して行った変更を、自動的に他のユーザに知らせることはできますか?

FAQ ID:1

A
できます。PERFORCEのトリガ(またはデーモン)機能を用いることにより、サブミットによって行われた変更を 他のユーザにE-mailで知らせることができます。 さらに、このトリガ(またはデーモン)機能では自由な(ユーザ定義の)アクションを実行させることができますので、 「品質メトリックスを測定/記録する」「ソースファイルのコメントと変更差分を元に変更通知書を 作成する」などのプロセスを実現することも可能です。

回答を閉じる