2.2. サードパーティーのプラグインを動的プラグインとしてパッケージ化して公開する


サードパーティーのプラグインをエクスポート した後、派生パッケージを、次のいずれかのサポートされている形式でパッケージ化できます。

  • Open Container Initiative (OCI) イメージ (推奨)
  • TGZ ファイル
  • JavaScript パッケージ

    重要

    エクスポートされた動的プラグインパッケージは、プライベート NPM レジストリーにのみ公開する必要があります。

2.2.1. 動的パッケージを使用した OCI イメージの作成

前提条件

手順

  1. プラグインのルートディレクトリー (dist-dynamic ディレクトリーではありません) に移動します。
  2. プラグインを OCI イメージにパッケージ化するには、次のコマンドを実行します。

    エクスポートされたサードパーティープラグインをパッケージ化するコマンドの例

    npx @janus-idp/cli@latest package package-dynamic-plugins --tag quay.io/example/image:v0.0.1

    前のコマンドでは、--tag 引数でイメージ名とタグを指定します。

  3. 次のいずれかのコマンドを実行して、イメージをレジストリーにプッシュします。

    podman を使用してイメージをレジストリーにプッシュするコマンドの例

    podman push quay.io/example/image:v0.0.1

    docker を使用してイメージをレジストリーにプッシュするコマンドの例

    docker push quay.io/example/image:v0.0.1

    package-dynamic-plugins コマンドの出力には、dynamic-plugin-config.yaml ファイルで使用するプラグインのパスが提供されます。

2.2.2. 動的パッケージを使用した TGZ ファイルの作成

前提条件

手順

  1. dist-dynamic ディレクトリーに移動します。
  2. tgz アーカイブを作成するには、次のコマンドを実行します。

    tgz アーカイブを作成するコマンドの例

    npm pack

    次のように --json フラグを使用して、npm pack コマンドの出力から整合性ハッシュを取得できます。

    tgz アーカイブの整合性ハッシュを取得するコマンドの例

    npm pack --json | head -n 10

  3. RHDH インスタンスにアクセスできる 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>

  4. プラグインをパッケージ化するには、次のコマンドを実行します。

    動的プラグインをパッケージ化するコマンドの例

    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-registry

  5. dynamic-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 レジストリーに公開する必要がある場合は、プライベートレジストリーを使用します。

前提条件

手順

  1. dist-dynamic ディレクトリーに移動します。
  2. 次のコマンドを実行して、パッケージをプライベート NPM レジストリーに公開します。

    プラグインパッケージを NPM レジストリーに公開するコマンドの例

    npm publish --registry <npm_registry_url>

    ヒント

    export コマンドを実行する前に、package.json ファイルに次の内容を追加できます。

    package.json ファイルの例

    {
      "publishConfig": {
        "registry": "<npm_registry_url>"
      }
    }

    動的プラグインをエクスポートした後に publishConfig を変更する場合は、export-dynamic-plugin コマンドを再実行して、正しい設定が含まれていることを確認します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る