3.2. カスタムレジストリーイメージのビルド

本セクションでは、カスタム devfile およびプラグインレジストリーイメージを含むイメージをビルドする方法を説明します。この手順では、新規 devfile およびプラグインを追加する方法を説明します。devfile レジストリーイメージには、devfile で参照されるすべてのサンプルプロジェクトが含まれます。プラグインレジストリーイメージには、プラグインまたは拡張メタデータが含まれます。

手順

  1. devfile レジストリーリポジトリーのクローンを作成し、デプロイするバージョンをチェックアウトします。

    $ git clone git@github.com:redhat-developer/codeready-workspaces.git
    $ cd codeready-workspaces
    $ git checkout crw-2.6-rhel-8
  2. ./dependencies/che-devfile-registry/devfiles/ ディレクトリーに、<devfile-name>/ サブディレクトリーを作成し、devfile.yaml および meta.yaml ファイルを追加します。

    devfile のファイル編成

    ./dependencies/che-devfile-registry/devfiles/
    └── <devfile-name>
        ├── devfile.yaml
        └── meta.yaml

  3. devfile.yaml ファイルに有効なコンテンツを追加します。devfile 形式の詳細については、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.6/html-single/end-user_guide/index#making-a-workspace-portable-using-a-devfile_crw を参照して ください
  4. meta.yaml ファイルが以下の構造に準拠することを確認します。

    表3.1 devfile meta.yaml のパラメーター

    属性説明

    description

    ユーザーダッシュボードに表示される説明。

    displayName

    ユーザーダッシュボードに表示される名前。

    globalMemoryLimit

    devfile が起動するすべてのコンポーネントによって消費されることが予想されるメモリーの合計。この数字はユーザーダッシュボードに表示されます。これは情報を示唆するように提供されますが、CodeReady Workspaces サーバーでは考慮されません。

    icon

    ユーザーダッシュボードに表示される .svg ファイルへのリンク

    tags

    タグの一覧。タグには通常、スタックに含まれるツールが含まれます。

    例3.1 devfile の例 meta.yaml

    displayName: Rust
    description: Rust Stack with Rust 1.39
    tags: ["Rust"]
    icon: https://www.eclipse.org/che/images/logo-eclipseche.svg
    globalMemoryLimit: 1686Mi
  5. ./dependencies/che-devfile-registry/devfiles/ ディレクトリーに、<devfile-name>/ サブディレクトリーを作成し、devfile.yaml および meta.yaml ファイルを追加します。

    devfile のファイル編成

    ./dependencies/che-devfile-registry/devfiles/
    └── <devfile-name>
        ├── devfile.yaml
        └── meta.yaml

  6. devfile.yaml ファイルに有効なコンテンツを追加します。devfile 形式の詳細については、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.6/html-single/end-user_guide/index#making-a-workspace-portable-using-a-devfile_crw を参照して ください
  7. meta.yaml ファイルが以下の構造に準拠することを確認します。

    表3.2 devfile meta.yaml のパラメーター

    属性説明

    description

    ユーザーダッシュボードに表示される説明。

    displayName

    ユーザーダッシュボードに表示される名前。

    globalMemoryLimit

    devfile が起動するすべてのコンポーネントによって消費されることが予想されるメモリーの合計。この数字はユーザーダッシュボードに表示されます。これは情報を示唆するように提供されますが、CodeReady Workspaces サーバーでは考慮されません。

    icon

    ユーザーダッシュボードに表示される .svg ファイルへのリンク

    tags

    タグの一覧。タグには通常、スタックに含まれるツールが含まれます。

    例3.2 devfile の例 meta.yaml

    displayName: Rust
    description: Rust Stack with Rust 1.39
    tags: ["Rust"]
    icon: https://www.eclipse.org/che/images/logo-eclipseche.svg
    globalMemoryLimit: 1686Mi
  8. カスタム devfile レジストリーイメージをビルドします。

    $ cd dependencies/che-devfile-registry
    $ ./build.sh --organization <my-org> \
               --registry <my-registry> \
               --tag <my-tag> \
               --latest-only
    
    $ cd ../../dependencies/che-devfile-registry
    $ ./build.sh --organization <my-org> \
               --registry <my-registry> \
               --tag <my-tag> \
               --latest-only
    ヒント

    build.sh スクリプトの詳細オプションを表示するには、--help パラメーターを使用します。

    レジストリーイメージにプラグインバイナリーを含めるには、--offline パラメーターを追加します。