3.3. カスタムレジストリーの実行


前提条件

このセクションで使用される my-plug-in-registry イメージおよび my-devfile-registry イメージは、docker コマンドを使用して構築されます。このセクションでは、これらのイメージが CodeReady Workspaces がデプロイされている OpenShift クラスターで利用できることを想定しています。

これらのイメージは以下にプッシュできます。

  • quay.io または DockerHub などのパブリックコンテナーレジストリー。
  • プライベートレジストリー

3.3.1. OpenShift でのレジストリーのデプロイ

手順

プラグインレジストリーをデプロイする OpenShift テンプレートは、GitHub リポジトリーの openshift/ ディレクトリーで利用できます。

  1. OpenShift テンプレートを使用してプラグインレジストリーをデプロイするには、以下のコマンドを実行します。

    NAMESPACE=<namespace-name>  
    1
    
    IMAGE_NAME="my-plug-in-registry"
    IMAGE_TAG="latest"
    oc new-app -f openshift/che-plugin-registry.yml \
     -n "$\{NAMESPACE}" \
     -p IMAGE="$\{IMAGE_NAME}" \
     -p IMAGE_TAG="$\{IMAGE_TAG}" \
     -p PULL_POLICY="IfNotPresent"
    Copy to Clipboard Toggle word wrap
    1
    crwctl を使用してインストールされている場合、デフォルトの CodeReady Workspaces プロジェクトは workspaces になります。この OperatorHub のインストール方法では、CodeReady Workspaces を現在のプロジェクトユーザーにデプロイします。
  2. devfile レジストリーには、GitHub リポジトリーの deploy/openshift/ ディレクトリーに OpenShift テンプレートがあります。これをデプロイするには、以下のコマンドを実行します。

    NAMESPACE=<namespace-name>  
    1
    
    IMAGE_NAME="my-devfile-registry"
    IMAGE_TAG="latest"
    oc new-app -f openshift/che-devfile-registry.yml \
     -n "$\{NAMESPACE}" \
     -p IMAGE="$\{IMAGE_NAME}" \
     -p IMAGE_TAG="$\{IMAGE_TAG}" \
     -p PULL_POLICY="IfNotPresent"
    Copy to Clipboard Toggle word wrap
    1
    crwctl を使用してインストールされている場合、デフォルトの CodeReady Workspaces プロジェクトは workspaces になります。この OperatorHub のインストール方法では、CodeReady Workspaces を現在のプロジェクトユーザーにデプロイします。
  3. レジストリーが OpenShift に正常にデプロイされたかどうかを確認します。

    1. 新規プラグインがプラグインレジストリーに正しく公開されることを確認するには、レジストリーパス /v3/plugins/index.json (または devfile レジストリーの /devfiles/index.json )に要求を実行します。

      $ URL=$(oc get -o 'custom-columns=URL:.spec.rules[0].host' \
        -l app=che-plugin-registry route --no-headers)
      $ INDEX_JSON=$(curl -sSL http://${URL}/v3/plugins/index.json)
      $ echo ${INDEX_JSON} | grep -A 4 -B 5 "\"name\":\"my-plug-in\""
      ,\{
       "id": "my-org/my-plug-in/1.0.0",
       "displayName":"This is my first plug-in for CodeReady Workspaces",
       "version":"1.0.0",
       "type":"VS Code extension",
       "name":"my-plug-in",
       "description":"This plugin shows that we are able to add plugins to the registry",
       "publisher":"my-org",
       "links": \{"self":"/v3/plugins/my-org/my-plug-in/1.0.0" }
      }
      --
      --
      ,\{
       "id": "my-org/my-plug-in/latest",
       "displayName":"This is my first plug-in for CodeReady Workspaces",
       "version":"latest",
       "type":"VS Code extension",
       "name":"my-plug-in",
       "description":"This plugin shows that we are able to add plugins to the registry",
       "publisher":"my-org",
       "links": \{"self":"/v3/plugins/my-org/my-plug-in/latest" }
      }
      Copy to Clipboard Toggle word wrap
    2. CodeReady Workspaces サーバーがレジストリーの URL を参照していることを確認します。これを実行するには、che ConfigMapのCHE_WORKSPACE_PLUGIN__REGISTRY__URL(またはdevfileレジストリーのCHE_WORKSPACE_DEVFILE__REGISTRY__URL)の値を比較します。

      $ oc get \
        -o "custom-columns=URL:.data['CHE_WORKSPACE_PLUGINREGISTRYURL']" \
        --no-headers cm/che
      URL
      http://che-plugin-registry-che.192.168.99.100.nip.io/v3
      Copy to Clipboard Toggle word wrap

      ルートの URL で以下を行います。

      $ oc get -o 'custom-columns=URL:.spec.rules[0].host' \
        -l app=che-plugin-registry route --no-headers
      che-plugin-registry-che.192.168.99.100.nip.io
      Copy to Clipboard Toggle word wrap
    3. 一致しない場合は、ConfigMap を更新し、CodeReady Workspaces サーバーを再起動します。

      $ oc edit cm/che
      (...)
      $ oc scale --replicas=0 deployment/che
      $ oc scale --replicas=1 deployment/che
      Copy to Clipboard Toggle word wrap

新規レジストリーがデプロイされ、CodeReady Workspaces サーバーがそのレジストリーを使用するように設定されている場合、新しいプラグインはワークスペースの Plugin ビューに利用でき、新規スタックはユーザーダッシュボードの New Workspace タブに表示されます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat