p4 extension
このコマンドを使用して、Helix Core Serverの拡張機能のメカニズムを管理することができます。
構文規則
p4 extension --sample myExt
p4 extension --package myExt
p4 extension --install myExt.p4-extension [--yes]
p4 extension --delete [--revision] [--path] ExampleInc::myExt [--yes]
p4 extension --configure ExampleInc::myExt [--revision] [-o]
p4 extension --configure ExampleInc::myExt[--revision] [-i] --name ExampleInc::myExt
p4 extension --run ExampleInc::myExt [ arguments ]
p4 extension --list --type type
説明
p4 extensionコマンドを使用して、Helix Core Server拡張機能のインストール、バージョン化機能、設定を管理することができます。
拡張機能は、ユーザが定義したロジックでHelix Coreの一部をカスタマイズするための手段です。拡張機能は、Helix Coreサーバ内で機能するサードパーティ製のコードとアセットから構成される自己完結型パッケージです。拡張機能の用途としては、サブミットされる変更内容の確認、フォームの検証、外部認証、外部ジョブの修正の統合、外部アーカイブの統合、コマンドポリシーの作成などがあります。拡張機能を登録できるイベントの一覧については、p4 help triggers
コマンドを実行して、トリガタイプのリストを表示してください。
拡張機能は、外部のプロセスに依存することなく、Helix Coreサーバ上でネイティブに実行されるため、自動複製機能とプログラマティックAPIを持つバージョン管理された移植可能なランタイムを作成することができます。
拡張機能とトリガを共存させることができますが(トリガについては、「p4 triggers」を参照)、拡張機能は機能的な点でトリガよりも優れています。
拡張機能はHelix Coreサーバ内でバージョン管理され、.p4-extensions
という特殊なディポにデフォルトで保存されます。この拡張機能ディポにアクセスできるのは、スーパーユーザだけです。また、アクセスする場合は、読み取り専用コマンドを使用する必要があります。拡張機能ディポは自動的に作成されます。
拡張機能のインストールまたはアップグレードを行うと、インストール前後のバージョン情報が記録されたチェンジリストが作成されます。
拡張機能を使用して、ユーザが実行するカスタムコマンドを実装することができます。以下に例を示します。
p4 extension --run myInstanceConfig validateFileSize pathToFile
「validateFileSize
」はカスタムコマンドを表し、「pathToFile
」は、カスタムコマンドに関する引数を表しています。
設定について
拡張機能をインストールしたら、設定を行う必要があります。
最初に、スーパーユーザがp4 extension --configure extName
コマンドを実行して、拡張機能の設定に関する各種のグローバル情報(拡張機能のインスタンスを作成できるユーザグループのリストや、拡張機能の実行時間の制限など)を指定します。
次に、スーパーユーザが--configure
オプションと--name
オプションを組み合わせて使用して、拡張機能の名前付きインスタンスを作成します。これにより、拡張機能がパラメータ化され、特定の設定で実行できるようになります。--nameオプションには、作成または編集する設定の名前を指定し、--configure
オプションには、拡張機能の名前を指定します。複数の名前付きインスタンスを作成することができます。
p4 extension
コマンドを実行するには、p4 protectコマンドで付与されるsuperアクセス権限が必要になります。拡張機能のグローバル設定のExtAllowedGroups
フィールドで指定されたグループにメンバーとして属しているユーザと、ディポまたはリポジトリを所有しているユーザは、自分が管理するサーバのセクション上で機能するファイルベースの拡張機能のインスタンスの作成や設定を行うことができます。
拡張機能について詳しくは、「p4 help serverextensionintro」と『Helix Core Extensions開発者ガイド』を参照してください。
命名規則
拡張機能は、完全修飾名で参照されます。完全修飾名は、名前空間と名前を組み合わせたものです。オプションとして、サーバにインストールされている拡張機能のリビジョン(拡張コードのバージョンではなく)を完全修飾名に含めることもできます。例えば、名前空間がExampleInc
で名前がExtName
である場合、完全修飾名はExampleInc::ExtName
として参照されます。
オプション
--sample |
このオプションを指定すると、ディレクトリ内に新しい拡張機能のスケルトンが作成されます。そのスケルトンに、作成する拡張機能の名前を付けます。「命名規則を参照してください。
これにより、 |
--package |
--packageオプションを指定すると、指定したファイルディレクトリから、パッケージ化された拡張機能ファイルが作成されます。以下に例を示します。
指定したディレクトリと同じ名前でファイルが作成されますが、ファイル名の最後に「.p4-extension」という拡張子が付加されます。拡張機能をインストールするには、 |
--yes |
注意
拡張機能のインストールや削除を実際に行うには、--yesオプションを使用する必要があります。--yesを指定せずにp4 extensionコマンドを実行した場合、どのような処理が実行されるのかが表示されるだけで、実際にインストールや削除が行われるわけではありません。 ヒント
-yオプションと--yesオプションは同じです。 |
--install |
このオプションを使用して、クライアントの拡張機能ファイルの名前を指定します。コマンドを実行すると、このファイルがサーバにインストールされます。パッケージ化された拡張機能ファイルには、「p4-extension」という拡張子が付加されます。 以下に例を示します。
注意
拡張機能のインストールや削除を実際に行うには、--yesオプションを使用する必要があります。--yesを指定せずにp4 extensionコマンドを実行した場合、どのような処理が実行されるのかが表示されるだけで、実際にインストールや削除が行われるわけではありません。 |
--name |
作成または変更するインスタンス設定の名前。 |
--revision |
このオプションを使用して、設定を行う拡張機能のディポバージョンを指定します。 デフォルト値は、最新リビジョンです。このオプションは、 --configureオプションに適用されます。 このオプションは、 |
--configure
|
拡張機能は、設定が完了するまで有効にはなりません。 デフォルトのグローバル設定は、次のようになります。
このグローバル設定は、以下のようになっている場合があります。
対応するインスタンス設定は、以下のようになります。
登録するイベントに応じて、1つの拡張機能で複数の設定を 構成することができます。 拡張機能の各設定で、その拡張機能の異なるバージョンを 指定することができます。 |
--list |
このオプションを指定すると、インストールされている拡張機能と そのインスタンスが表示されます。 すべての拡張機能を一覧表示するには、以下のコマンドを実行します。
すべてのインスタンス設定を一覧表示するには、以下のコマンドを実行します。
|
--delete |
このオプションを指定すると、拡張機能または拡張機能の設定情報(あるいはその両方)が削除されます。
注意
拡張機能のインストールや削除を実際に行うには、--yesオプションを使用する必要があります。--yesを指定せずにp4 extensionコマンドを実行した場合、どのような処理が実行されるのかが表示されるだけで、実際にインストールや削除が行われるわけではありません。 |
--run |
このオプションにより、指定した拡張機能が実行されます。 拡張機能を仕様して、カスタムのエンドユーザコマンドを実装することができます。このカスタムコマンドを実行するには、 |
使用上の注意点
ファイル引数でリビジョン指定子を使用できるか? | ファイル引数でリビジョン範囲を使用できるか? | 最低限必要なアクセスレベル |
---|---|---|
適用外 |
適用外 |
|