2.2. サードパーティーのプラグインを動的プラグインとしてパッケージ化して公開する
サードパーティーのプラグインをエクスポート した後、派生パッケージを、次のいずれかのサポートされている形式でパッケージ化できます。
- Open Container Initiative (OCI) イメージ (推奨)
- TGZ ファイル
JavaScript パッケージ
重要エクスポートされた動的プラグインパッケージは、プライベート NPM レジストリーにのみ公開する必要があります。
2.2.1. 動的パッケージを使用した OCI イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
-
podmanまたはdockerをインストールしている。 - サードパーティーの動的プラグインパッケージをエクスポートしている。詳細は、「Red Hat Developer Hub でのサードパーティープラグインのエクスポート」 を参照してください。
手順
-
プラグインのルートディレクトリー (
dist-dynamicディレクトリーではありません) に移動します。 プラグインを OCI イメージにパッケージ化するには、次のコマンドを実行します。
エクスポートされたサードパーティープラグインをパッケージ化するコマンドの例
npx @janus-idp/cli@latest package package-dynamic-plugins --tag quay.io/example/image:v0.0.1前のコマンドでは、
--tag引数でイメージ名とタグを指定します。次のいずれかのコマンドを実行して、イメージをレジストリーにプッシュします。
podman を使用してイメージをレジストリーにプッシュするコマンドの例
podman push quay.io/example/image:v0.0.1docker を使用してイメージをレジストリーにプッシュするコマンドの例
docker push quay.io/example/image:v0.0.1package-dynamic-pluginsコマンドの出力には、dynamic-plugin-config.yamlファイルで使用するプラグインのパスが提供されます。
2.2.2. 動的パッケージを使用した TGZ ファイルの作成 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- サードパーティーの動的プラグインパッケージをエクスポートしている。詳細は、「Red Hat Developer Hub でのサードパーティープラグインのエクスポート」 を参照してください。
手順
-
dist-dynamicディレクトリーに移動します。 tgzアーカイブを作成するには、次のコマンドを実行します。tgzアーカイブを作成するコマンドの例npm pack次のように
--jsonフラグを使用して、npm packコマンドの出力から整合性ハッシュを取得できます。tgzアーカイブの整合性ハッシュを取得するコマンドの例npm pack --json | head -n 10RHDH インスタンスにアクセスできる Web サーバー上でアーカイブをホストし、次のように
dynamic-plugin-config.yamlファイルでその URL を参照します。dynamic-plugin-config.yamlファイルの例plugins: - package: https://example.com/backstage-plugin-myplugin-1.0.0.tgz integrity: sha512-<hash>プラグインをパッケージ化するには、次のコマンドを実行します。
動的プラグインをパッケージ化するコマンドの例
npm pack --pack-destination ~/test/dynamic-plugins-root/ヒントOpenShift Container Platform で HTTP サーバーを使用してプラグインレジストリーを作成するには、次のコマンドを実行します。
OpenShift Container Platform で HTTP サーバーを構築およびデプロイするためのコマンド例
oc project my-rhdh-project oc new-build httpd --name=plugin-registry --binary oc start-build plugin-registry --from-dir=dynamic-plugins-root --wait oc new-app --image-stream=plugin-registrydynamic-plugin-config.yamlファイルを編集して、HTTP サーバーからのプラグインを使用するように RHDH を設定します。RHDH でパッケージ化されたプラグインを使用するための設定例
plugins: - package: http://plugin-registry:8080/backstage-plugin-myplugin-1.9.6.tgz
2.2.3. 動的パッケージを使用した JavaScript パッケージの作成 リンクのコピーリンクがクリップボードにコピーされました!
派生した動的プラグイン JavaScript パッケージは、パブリック NPM レジストリーに公開することはできません。NPM レジストリーに公開する必要がある場合は、プライベートレジストリーを使用します。
前提条件
- サードパーティーの動的プラグインパッケージをエクスポートしている。詳細は、「Red Hat Developer Hub でのサードパーティープラグインのエクスポート」 を参照してください。
手順
-
dist-dynamicディレクトリーに移動します。 次のコマンドを実行して、パッケージをプライベート NPM レジストリーに公開します。
プラグインパッケージを NPM レジストリーに公開するコマンドの例
npm publish --registry <npm_registry_url>ヒントexportコマンドを実行する前に、package.jsonファイルに次の内容を追加できます。package.jsonファイルの例{ "publishConfig": { "registry": "<npm_registry_url>" } }動的プラグインをエクスポートした後に
publishConfigを変更する場合は、export-dynamic-pluginコマンドを再実行して、正しい設定が含まれていることを確認します。