1.3. ランタイム時の devfile およびプラグインの編集
カスタムレジストリーイメージのビルドの代替方法は、以下のとおりです。
- レジストリーの起動
- ランタイム時のコンテンツの変更
このアプローチは簡単かつ高速です。ただし、コンテナーが削除されるとすぐに変更が失われます。
1.3.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
ファイルに変更を加えます。新しいプラグインに固有のタイトル
、表示名、および
説明
があることを確認します。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 ダッシュボードに移動し、Workspaces リンクをクリックします。ここから、歯車アイコンをクリックしてワークスペースの 1 つを設定します。Plugins タブを選択し、利用可能なプラグインの更新一覧を表示します。