1.3. ランタイム時の devfile およびプラグインの編集
カスタムレジストリーイメージのビルドの代替方法は、以下のとおりです。
- レジストリーの起動
- ランタイム時のコンテンツの変更
このアプローチは簡単かつ高速です。ただし、コンテナーが削除されるとすぐに変更が失われます。
1.3.1. ランタイム時のプラグインの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順
プラグインを追加するには、以下を行います。
プラグインレジストリーソースをチェックアウトします。
$ git clone https://github.com/redhat-developer/codeready-workspaces; \ cd codeready-workspaces/dependencies/che-plugin-registry一部のローカルフォルダーに
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}/ echo "${PLUGIN##*/}" > ${PLUGIN}/../latest.txt-
既存のプラグインからコピーした場合には、必要に応じて
meta.yamlファイルに変更を加えます。新しいプラグインに固有のタイトル、表示名、および説明があることを確認します。firstPublicationDate を現在の日付に更新します。 meta.yamlのこれらのフィールドは、上記のPLUGINで定義されたパスと一致する必要があります。publisher: new-org name: new-plugin version: 0.0.1プラグインレジストリーコンテナーをホストする Pod の名前を取得します。これを実行するには、
component=plugin-registryラベルをフィルターします。$ PLUGIN_REG_POD=$(oc get -o custom-columns=NAME:.metadata.name \ --no-headers pod -l component=plugin-registry)レジストリーの
index.jsonファイルを再生成し、新しいプラグインを追加します。$ cd codeready-workspaces/dependencies/che-plugin-registry; \ "$(pwd)/build/scripts/generate_latest_metas.sh" v3 && \ "$(pwd)/build/scripts/check_plugins_location.sh" v3 && \ "$(pwd)/build/scripts/set_plugin_dates.sh" v3 && \ "$(pwd)/build/scripts/check_plugins_viewer_mandatory_fields.sh" v3 && \ "$(pwd)/build/scripts/index.sh" v3 > v3/plugins/index.json新しい
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- プラグインレジストリーの既存の CodeReady Workspaces インスタンスから新しいプラグインを使用できるようになりました。これを検出するには、CodeReady Workspaces ダッシュボードに移動し、Workspaces リンクをクリックします。ここから、歯車アイコンをクリックしてワークスペースの 1 つを設定します。Plugins タブを選択し、利用可能なプラグインの更新一覧を表示します。