3.8.3. 既存の OpenShift アプリケーションからの devfile の生成
この手順では、crwctl ツールを使用して、既存の OpenShift アプリケーションから devfile を生成する方法を説明します。
前提条件
- CodeReady Workspaces の実行中のインスタンスがある。CodeReady Workspaces のインスタンスをインストールするには、CodeReady Workspaces のインストール を参照してください。
-
crwctl管理ツールが利用可能である。https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.15/html-single/installation_guide/index#using-the-chectl-management-tool.adoc を参照してください。 - CodeReady Workspaces にログインしている。How to login into CodeReady Workspaces using crwctl を参照してください。
手順
devfile を生成するには、以下を使用します。
$ crwctl devfile:generatecrwctl devfile:generateコマンドを使用して、NodeJSコンポーネントが含まれるNodeJS-MongoDBアプリケーションなどから devfile を生成することもできます。以下に例を示します。
$ crwctl devfile:generate --selector="app=nodejs" apiVersion: 1.0.0 metadata: name: crwctl-generated components: - type: kubernetes alias: app=nodejs referenceContent: | kind: List apiVersion: v1 metadata: name: app=nodejs items: - apiVersion: apps/v1 kind: Deployment metadata: labels: app: nodejs name: web (...)Node.js アプリケーションの YAML 定義は、
referenceContent属性を使用し、devfile のインラインで利用できます。言語のサポートを追加するには、
--languageパラメーターを使用します。$ crwctl devfile:generate --selector="app=nodejs" --language="typescript" apiVersion: 1.0.0 metadata: name: crwctl-generated components: - type: kubernetes alias: app=nodejs referenceContent: | kind: List apiVersion: v1 (...) - type: chePlugin alias: typescript-ls id: che-incubator/typescript/latest
生成された devfile を使用して、
crwctlで CodeReady Workspaces ワークスペースを起動します。$ crwctl workspace:start --devfile=devfile.yaml