第3章 Developer workspaces


Red Hat CodeReady Workspaces は、コード、ビルド、テスト、実行、デバッグのアプリケーションに必要なあらゆる内容を開発者ワークスペースに提供します。これを可能にするために、開発者ワークスペースは主に 4 つのコンポーネントを提供します。

  1. プロジェクトのソースコード。
  2. Web ベースの IDE。
  3. 開発者がプロジェクトで作業するために必要なツール依存関係
  4. アプリケーションランタイム: 実稼働環境でアプリケーションを実行する環境のレプリカ

Pod は CodeReady Workspaces ワークスペースの各コンポーネントを管理します。そのため、CodeReady Workspaces ワークスペースで実行しているすべてはコンテナー内で実行されます。これにより、CodeReady Workspaces ワークスペースの移植性が非常に高くなります。

埋め込みブラウザーベースの IDE は、CodeReady Workspaces ワークスペースで実行しているすべてのアクセスのポイントとなります。これにより、CodeReady Workspaces ワークスペースを簡単に共有できます。

重要

デフォルトでは、一度に 1 つのワークスペースのみを実行できます。デフォルト値を変更するには、『 CodeReady Workspaces 2.3 Installation Guide』を参照してください

Expand
表3.1 機能および利点
Features従来の IDE ワークスペースRed Hat CodeReady Workspaces ワークスペース

設定およびインストールに必要な

はい。

いいえ。

埋め込みツール

パーシャル。IDE プラグインには設定が必要です。依存関係にはインストールおよび設定が必要です。例: JDK、Maven、Node

はい。プラグインはそれらの依存関係を提供します。

提供されるアプリケーションランタイム

いいえ、開発者がこれを別々に管理する必要があります。

はい。アプリケーションランタイムはワークスペースにレプリケートされます。

shareable

いいえ。簡単にはなりません。

はい。Developer workspaces と URL を共有できます。

Versionable

いいえ

はい。devfile は、プロジェクトのソースコードに存在します。

どこからでもアクセス可能

いいえ。インストールは必要ありません。

はい。ブラウザーのみが必要です。

CodeReady Workspaces ワークスペースを起動するには、以下のオプションを使用できます。

Dashboard を使用して CodeReady Workspaces 2.3 を検出します。

CodeReady Workspaces 2.3 ワークスペースを起動するのに、devfile を優先的に使用します。

CodeReady Workspaces 2.3 ワークスペースと対話する優先方法として、ブラウザーベースの IDE を使用します。CodeReady Workspaces 2.3 ワークスペースと対話する別の方法は、「リモートアクセスワークスペース」を参照して ください。

3.1. devfile を使用したワークスペースの設定

CodeReady Workspaces ワークスペースを迅速かつ簡単に設定するには、devfile を使用します。devfile とそれらの使用手順の概要は、本セクションの手順を参照してください。

3.1.1. devfile とは

devfile は、開発環境を記述し、定義するファイルです。

  • ソースコード
  • 開発コンポーネント(ブラウザー IDE ツールおよびアプリケーションランタイム)
  • 事前定義済みのコマンドの一覧
  • クローン作成するプロジェクト

devfile は、CodeReady Workspaces が複数のコンテナーで構成されるクラウドワークスペースに消費し、変換する YAML ファイルです。devfile は Git リポジトリーのルートフォルダー、Git リポジトリーの機能ブランチ、一般にアクセス可能な宛先、またはローカルに保存されたアーティファクトとして保存できます。Git リポジトリーに保存される devfile は、devfile.yaml や .devfile.yaml などの複数の名前を使用でき ます。

ワークスペースの作成時に、CodeReady Workspaces はこの定義を使用してすべてを開始し、必要なツールおよびアプリケーションランタイムに必要なすべてのコンテナーを実行します。また、CodeReady Workspaces はファイルシステムボリュームをマウントして、ワークスペースでソースコードを使用できるようにします。

devfile は、プロジェクトのソースコードでバージョン付けできます。古いメンテナンスブランチを修正するためにワークスペースが必要な場合、プロジェクト devfile はワークスペースの定義と、古いブランチでの作業を開始するための正確な依存関係を提供します。これを使用してワークスペースをオンデマンドでインスタンス化します。

CodeReady Workspaces は、ワークスペースで使用されるツールで devfile を最新の状態に維持します。

  • ワークスペースのプロジェクト(パス、Git の場所、ブランチ)
  • 毎日のタスクを実行するコマンド(build、run、test、debug)
  • ランタイム環境(アプリケーションを実行するためのコンテナーイメージ)
  • che-Theia プラグインには、開発者がワークスペースで使用するツール、IDE 機能、およびヘルパー関数が同梱されています(Git、Java サポート、PKarLint、Pull Request)。

3.1.2. Git リポジトリーのデフォルトブランチからのワークスペースの作成

CodeReady Workspaces ワークスペースは、Git ソースリポジトリーに保存されている devfile を参照して作成できます。CodeReady Workspaces インスタンスは、検出された devfile.yaml ファイルを使用して、/f?url= API を使用してワークスペースをビルドします。

前提条件

手順

https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https:// <GitRepository> の URL を開いてワークスペースを実行します

https://che.openshift.io/f?url=https://github.com/eclipse/che
Copy to Clipboard Toggle word wrap

3.1.3. Git リポジトリーの機能ブランチからのワークスペースの作成

CodeReady Workspaces ワークスペースを作成するには、ユーザーの任意の機能ブランチにある Git ソースリポジトリーに保存されている devfile を参照できます。CodeReady Workspaces インスタンスは、検出された devfile を使用してワークスペースを構築します。

前提条件

手順

URL https://codeready-<openshift_deployment_name>.<domain_name>/f?url= <GitHubBranch> を開いてワークスペースを実行します

以下の URL 形式を使用して、che.openshift.io でホストされる実験的な quarkus-quickstarts ブランチを開きます。

https://che.openshift.io/f?url=https://github.com/maxandersen/quarkus-quickstarts/tree/che
Copy to Clipboard Toggle word wrap

ワークスペースは、devfile を使用して作成できます。これは、devfile の raw コンテンツを示す URL です。CodeReady Workspaces インスタンスは、検出された devfile を使用してワークスペースを構築します。

前提条件

手順

  1. https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https:// <yourhosturl> /devfile.yamlの URL を開いてワークスペースを実行します。

https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml
Copy to Clipboard Toggle word wrap

3.1.5. ファクトリーパラメーターを使用した devfile 値のオーバーライド

リモート devfile の以下のセクションの値は、特別に構築された追加のファクトリーパラメーターを使用して上書きできます。

  • apiVersion
  • metadata
  • projects
  • attributes

前提条件

手順

  1. URL https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https:// <hostURL> /devfile.yaml&override.<parameter.path>=<value>の URL に移動してワークスペースを開きます。

generateName プロパティーの オーバーライド

以下の初期 devfile を考慮してください。

---
apiVersion: 1.0.0
metadata:
  generateName: golang-
projects:
...
Copy to Clipboard Toggle word wrap

generateName の値を追加または上書き する には、以下のファクトリー URL を使用します。

https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.metadata.generateName=myprefix
Copy to Clipboard Toggle word wrap

その結果、ワークスペースには以下の devfile モデルがあります。

---
apiVersion: 1.0.0
metadata:
  generateName: myprefix
projects:
...
Copy to Clipboard Toggle word wrap

プロジェクトソースブランチプロパティーのオーバーライド例

以下の初期 devfile を考慮してください。

---
apiVersion: 1.0.0
metadata:
  generateName: java-mysql-
projects:
  - name: web-java-spring-petclinic
    source:
      type: git
      location: "https://github.com/spring-projects/spring-petclinic.git"
...
Copy to Clipboard Toggle word wrap

ソース ブランチ の値を追加または上書きするには、以下のファクトリー URL を使用します。

https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.projects.web-java-spring-petclinic.source.branch=1.0.x
Copy to Clipboard Toggle word wrap

その結果、ワークスペースには以下の devfile モデルがあります。

apiVersion: 1.0.0
metadata:
  generateName: java-mysql-
projects:
  - name: web-java-spring-petclinic
    source:
      type: git
      location: "https://github.com/spring-projects/spring-petclinic.git"
      branch: 1.0.x
...
Copy to Clipboard Toggle word wrap

属性値のオーバーライドまたは作成の例

以下の初期 devfile を考慮してください。

---
apiVersion: 1.0.0
metadata:
  generateName: golang-
attributes:
   persistVolumes: false
projects:
...
Copy to Clipboard Toggle word wrap

persistVolumes 属性値を追加または 上書き するには、以下のファクトリー URL を使用します。

https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.attributes.persistVolumes=true
Copy to Clipboard Toggle word wrap

その結果、ワークスペースには以下の devfile モデルがあります。

---
apiVersion: 1.0.0
metadata:
  generateName: golang-
attributes:
   persistVolumes: true
projects:
...
Copy to Clipboard Toggle word wrap

属性を上書きすると、attributes キーワードに続くすべての内容が属性名として解釈されるため、ドット区切り名を使用できます。

https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.attributes.dot.name.format.attribute=true
Copy to Clipboard Toggle word wrap

その結果、ワークスペースには以下の devfile モデルがあります。

---
apiVersion: 1.0.0
metadata:
  generateName: golang-
attributes:
   dot.name.format.attribute: true
projects:
...
Copy to Clipboard Toggle word wrap

3.1.6. crwctl およびローカル devfile を使用したワークスペースの作成

CodeReady Workspaces ワークスペースは、crwctl ツール をローカルに保存された devfile を参照して作成できます。CodeReady Workspaces インスタンスは、検出された devfile を使用してワークスペースを構築します。

前提条件

手順

  1. 以下のように、workspace:start パラメーターで crwctl ツールを指定して、devfile からワークス ペース を実行します。
$ crwctl workspace:start --devfile=devfile.yaml
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat