4.8. ランタイム時に devfile およびプラグインの編集
カスタムレジストリーイメージをビルドする代わりに、以下を実行します。
- レジストリーの開始
- ランタイム時に内容を変更します。
このアプローチはより簡単で高速です。ただし、コンテナーが削除されるとすぐに変更が失われます。
4.8.1. 実行時のプラグインの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
プラグインを追加するには、以下を実行します。
プラグインレジストリーソースをチェックアウトします。
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を作成します。これは、ゼロから実行することも、既存のプラグインのmeta.yamlファイルからコピーして実行することもできます。PLUGIN="v3/plugins/new-org/new-plugin/0.0.1"; \ mkdir -p ${PLUGIN}; cp v3/plugins/che-incubator/cpptools/0.1/* ${PLUGIN}/$ PLUGIN="v3/plugins/new-org/new-plugin/0.0.1"; \ mkdir -p ${PLUGIN}; cp v3/plugins/che-incubator/cpptools/0.1/* ${PLUGIN}/ echo "${PLUGIN##*/}" > ${PLUGIN}/../latest.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
既存のプラグインからコピーする場合には、必要に応じて
meta.yamlファイルに変更を加えます。新規プラグインに一意のtitle、displayName、およびdescriptionがあることを確認します。firstPublicationDateを今日の日付に更新します。 meta.yamlのこれらのフィールドは、上記のPLUGINで定義されたパスと一致する必要があります。publisher: new-org name: new-plugin version: 0.0.1
publisher: new-org name: new-plugin version: 0.0.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow プラグインレジストリーコンテナーをホストする Pod の名前を取得します。これを実行するには、
component=plugin-registryラベルをフィルターします。PLUGIN_REG_POD=$(oc get -o custom-columns=NAME:.metadata.name \ --no-headers pod -l component=plugin-registry)
$ PLUGIN_REG_POD=$(oc get -o custom-columns=NAME:.metadata.name \ --no-headers pod -l component=plugin-registry)Copy to Clipboard Copied! Toggle word wrap Toggle overflow レジストリーの
index.jsonファイルを再生成し、新規プラグインを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しい
index.jsonおよびmeta.yamlファイルを新しいローカルプラグインフォルダーからコンテナーにコピーします。cd codeready-workspaces/dependencies/che-plugin-registry; \ LOCAL_FILES="$(pwd)/${PLUGIN}/meta.yaml $(pwd)/v3/plugins/index.json"; \ oc exec ${PLUGIN_REG_POD} -i -t -- mkdir -p /var/www/html/$/{PLUGIN}; \ for f in $LOCAL_FILES; do e=${f/$(pwd)\//}; echo "Upload ${f} -> /var/www/html/${e}"; \ oc cp "${f}" ${PLUGIN_REG_POD}:/var/www/html/${e}; done$ cd codeready-workspaces/dependencies/che-plugin-registry; \ LOCAL_FILES="$(pwd)/${PLUGIN}/meta.yaml $(pwd)/v3/plugins/index.json"; \ oc exec ${PLUGIN_REG_POD} -i -t -- mkdir -p /var/www/html/$/{PLUGIN}; \ for f in $LOCAL_FILES; do e=${f/$(pwd)\//}; echo "Upload ${f} -> /var/www/html/${e}"; \ oc cp "${f}" ${PLUGIN_REG_POD}:/var/www/html/${e}; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 新規プラグインは、プラグインレジストリーの既存の CodeReady Workspaces インスタンスから使用できるようになりました。これを検出するには、CodeReady Workspaces ダッシュボードに移動してから、Workspaceリンクをクリックします。そこから、ギアアイコンをクリックしてワークスペースのいずれかを設定します。Plugins タブを選択して、利用可能なプラグインの更新された一覧を表示します。