3.2. レジストリーイメージにプラグインバイナリーの追加
CodeReady Workspaces のプラグインレジストリーは、Eclipse Che バージョンとは異なります。Eclipse Che はプラグインメタデータのみをホストしますが、CodeReady Workspaces プラグインレジストリーは対応するバイナリーもホストし、これはデフォルトでオフラインモードでビルドされます。つまり、バイナリーはプラグインレジストリーイメージにすでにホストされていることを意味します。
本セクションでは、新しいプラグインを追加するか、異なるバージョンのプラグインを参照する方法を説明します。これは、プラグイン meta.yaml ファイルを新しいプラグインを参照し、変更したプラグイン meta.yaml ファイルとプラグインのバイナリーファイルを含むオフラインモードで新しいレジストリーを構築することで実現できます。
前提条件
- CodeReady Workspaces のインスタンスが利用可能である。
-
ocツールが利用可能である。
手順
codeready-workspacesリポジトリーのクローンを作成します。git clone https://github.com/redhat-developer/codeready-workspaces cd codeready-workspaces/dependencies/che-plugin-registry
$ git clone https://github.com/redhat-developer/codeready-workspaces $ cd codeready-workspaces/dependencies/che-plugin-registryCopy to Clipboard Copied! Toggle word wrap Toggle overflow プラグインレジストリーで変更するバイナリーを特定します。
meta.yamlファイルには、プラグインに必要な拡張の URL を定義するextensionセクションが含まれます。たとえば、redhat/java11/0.63.0プラグインは以下の 2 つの拡張機能を一覧表示します。meta.yaml
extensions: - https://download.jboss.org/jbosstools/vscode/3rdparty/vscode-java-debug/vscode-java-debug-0.26.0.vsix - https://download.jboss.org/jbosstools/static/jdt.ls/stable/java-0.63.0-2222.vsix
extensions: - https://download.jboss.org/jbosstools/vscode/3rdparty/vscode-java-debug/vscode-java-debug-0.26.0.vsix - https://download.jboss.org/jbosstools/static/jdt.ls/stable/java-0.63.0-2222.vsixCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最初の拡張機能を変更して、GitHub でホストされるバージョンを参照し、プラグインレジストリーを再構築します。
redhat/java11/0.63.0プラグインを使用する場合、バイナリーはカスタムプラグインレジストリーサーバーから取得されます。これ以降のコマンドで使用できるように、以下の環境変数を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow プラグインレジストリー URL を取得します。
oc get route plugin-registry -o jsonpath='{.spec.host}' -n ${CHE_NAMESPACE}$ oc get route plugin-registry -o jsonpath='{.spec.host}' -n ${CHE_NAMESPACE}Copy to Clipboard Copied! Toggle word wrap Toggle overflow この値を
PLUGIN_REGISTRY_URLという変数に保存します。meta.yamlファイルの URL を更新し、レジストリーコンテナーに保存される VS Code 拡張機能バイナリーを参照します。sed -i -e "s#${OLD_JAVA_DEBUG_META_YAML_URL}#${VSCODE_JAVA_DEBUG_URL}#g" \ ./v3/plugins/${ORG}/${NAME}/${CHE_PLUGIN_VERSION}/meta.yaml ./v3/plugins/${ORG}/${NAME}/${CHE_PLUGIN_VERSION}/meta.yaml$ sed -i -e "s#${OLD_JAVA_DEBUG_META_YAML_URL}#${VSCODE_JAVA_DEBUG_URL}#g" \ ./v3/plugins/${ORG}/${NAME}/${CHE_PLUGIN_VERSION}/meta.yaml ./v3/plugins/${ORG}/${NAME}/${CHE_PLUGIN_VERSION}/meta.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要デフォルトでは、CodeReady Workspaces は TLS が有効な状態でデプロイされます。TLS を使用しないインストールでは、
NEW_JAVA_DEBUG_URLおよびNEW_JAVA_LS_URL変数でhttp://を使用します。meta.yamlが正しく置き換えられた URL が設定されていることを確認します。cat ./v3/plugins/${ORG}/${NAME}/${CHE_PLUGIN_VERSION}/meta.yaml$ cat ./v3/plugins/${ORG}/${NAME}/${CHE_PLUGIN_VERSION}/meta.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow meta.yaml
extensions: - https://plugin-registry-che.apps-crc.testing/v3/plugins/redhat/java11/0.63.0/vscode-java-debug-0.26.0.vsix - https://plugin-registry-che.apps-crc.testing/v3/plugins/redhat/java11/0.63.0/java-0.63.0-2222.vsix
extensions: - https://plugin-registry-che.apps-crc.testing/v3/plugins/redhat/java11/0.63.0/vscode-java-debug-0.26.0.vsix - https://plugin-registry-che.apps-crc.testing/v3/plugins/redhat/java11/0.63.0/java-0.63.0-2222.vsixCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 「カスタムレジストリーイメージのビルドおよび実行」 の手順に従ってプラグインレジストリーをビルドし、デプロイします。