3.8.3. 既存の OpenShift アプリケーションからの devfile の生成

この手順では、crwctl ツールを使用して、既存の OpenShift アプリケーションから devfile を生成する方法を説明します。

前提条件

手順

  1. devfile を生成するには、以下を使用します。

    $ crwctl devfile:generate
    • crwctl 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
  2. 生成された devfile を使用して、crwctl で CodeReady Workspaces ワークスペースを起動します。

    $ crwctl workspace:start --devfile=devfile​.yaml