4.7. ランタイム時に devfile およびプラグインの編集
カスタムレジストリーイメージをビルドする代わりに、以下を実行します。
- レジストリーの開始
- ランタイム時に内容を変更します。
このアプローチはより簡単で高速です。ただし、コンテナーが削除されるとすぐに変更が失われます。
4.7.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-registry
Copy 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.txt
Copy 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.1
Copy 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}; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新規プラグインは、プラグインレジストリーの既存の CodeReady Workspaces インスタンスから使用できるようになりました。これを検出するには、CodeReady Workspaces ダッシュボードに移動してから、Workspaceリンクをクリックします。そこから、ギアアイコンをクリックしてワークスペースのいずれかを設定します。Plugins タブを選択して、利用可能なプラグインの更新された一覧を表示します。