第3章 開発者ワークスペース
Red Hat CodeReady Workspaces は、開発者ワークスペースに、アプリケーションのコード、ビルド、テスト、実行、およびデバッグに必要なすべてのものを提供します。これを許可するために、開発者ワークスペースは 4 つの主なコンポーネントを提供します。
- プロジェクトのソースコード。
- Web ベースの IDE。
- プロジェクトと連携する開発者が必要とされるツールの依存関係
- アプリケーションランタイム: アプリケーションが実稼働環境で実行される環境のレプリカ
Pod は CodeReady Workspaces ワークスペースの各コンポーネントを管理します。そのため、CodeReady Workspaces ワークスペースで実行されているすべてのものは、コンテナー内で実行されます。これにより、CodeReady Workspaces ワークスペースに高い移植性を持たせることができます。
組み込みブラウザーベースの IDE は、CodeReady Workspaces ワークスペースで実行しているすべてについてのアクセスポイントです。これにより、CodeReady Workspaces ワークスペースを簡単に共有できます。
デフォルトでは、1 度に 1 つのワークスペースのみを実行できます。デフォルト値を変更するには、「ユーザーワークスペースの 制限 」を参照してください。
機能 | 従来の IDE ワークスペース | Red Hat CodeReady Workspaces ワークスペース |
---|---|---|
設定およびインストールが必要 | Yes | No |
組み込みツール | 部分的。IDE プラグインには設定が必要です。依存関係にはインストールと設定が必要です。例: JDK、Maven、Node | Yesプラグインは、それらの依存関係を提供します。 |
アプリケーションランタイムが指定される | No。開発者はこれを個別に管理する必要があります。 | Yesアプリケーションランタイムはワークスペースで複製されます。 |
共有可能 | No。または容易ではない | Yes開発者ワークスペースは URL で共有可能です。 |
バージョン管理可能 | No | Yesdevfile はプロジェクトのソースコードと共に存在します。 |
どこからでもアクセス可能 | No。インストールが必要です。 | Yesブラウザーのみが必要です。 |
CodeReady Workspaces ワークスペースを起動するには、以下のオプションを選択できます。
Dashboard を使用して CodeReady Workspaces 2.4 を検出します。
CodeReady Workspaces 2.4 ワークスペースを起動する方法として、devfile を使用します。
CodeReady Workspaces 2.4 ワークスペースと対話するには、ブラウザーベースの IDE を使用します。CodeReady Workspaces 2.4 ワークスペースと対話する代替方法は、「ワークスペースへのリモートアクセス」 を参照してください。
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 の場所、ブランチ)
- 日次タスクを実行するコマンド(ビルド、実行、テスト、デバッグ)
- ランタイム環境(アプリケーションを実行するコンテナーイメージ)
- 開発者がワークスペース(Git、Java サポート、SnarLint、Pulner Request)で使用するツール、IDE 機能、およびヘルパーを含む Che-Theia プラグイン
3.1.2. Git リポジトリーのデフォルトブランチでのワークスペースの作成 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ワークスペースは、Git ソースリポジトリーに保存される devfile を参照して作成できます。CodeReady Workspaces インスタンスは、検出された devfile.yaml ファイルを使用して、/f?url=
API を使用してワークスペースを構築します。
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.4/html-single/installation_guide/index#installing-codeready-workspaces_crw を参照して ください。
-
devfile.yaml
または.devfile.yaml
ファイルは、HTTPS で利用可能な Git リポジトリーのルートフォルダーにあります。devfile の作成および使用についての詳細は、「devfile を使用してワークスペースを移植可能にする」 を参照してください。
手順
以下の URL を開いてワークスペースを実行します。 https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https://<GitRepository>
例
https://che.openshift.io/f?url=https://github.com/eclipse/che
https://che.openshift.io/f?url=https://github.com/eclipse/che
3.1.3. Git リポジトリーの機能ブランチでのワークスペースの作成 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ワークスペースは、ユーザーの選択する機能ブランチの Git ソースリポジトリーに保存される devfile を参照して作成できます。次に CodeReady Workspaces インスタンスは検出された devfile を使用してワークスペースをビルドします。
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.4/html-single/installation_guide/index#installing-codeready-workspaces_crw を参照して ください。
-
devfile.yaml
または.devfile.yaml
ファイルは、HTTPS 経由でアクセス可能なユーザーが選択する特定のブランチの、Git リポジトリーのルートフォルダーにあります。devfile の作成および使用についての詳細は、「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
https://che.openshift.io/f?url=https://github.com/maxandersen/quarkus-quickstarts/tree/che
3.1.4. HTTP を使用した一般にアクセス可能なスタンドアロン devfile でのワークスペースの作成 リンクのコピーリンクがクリップボードにコピーされました!
ワークスペースは、devfile、devfile の未加工コンテンツを参照する URL を使用して作成できます。次に CodeReady Workspaces インスタンスは検出された devfile を使用してワークスペースをビルドします。
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.4/html-single/installation_guide/index#installing-codeready-workspaces_crw を参照して ください。
-
一般にアクセス可能なスタンドアロン
devfile.yaml
ファイル。devfile の作成および使用についての詳細は、「devfile を使用してワークスペースを移植可能にする」 を参照してください。
手順
-
以下の URL を開いてワークスペースを実行します。
https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https://<yourhosturl>/devfile.yaml
例
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml
3.1.5. factory パラメーターを使用した devfile 値の上書き リンクのコピーリンクがクリップボードにコピーされました!
リモート devfile の以下のセクションにある値は、特別に作成される追加の factory パラメーターを使用して上書きできます。
-
apiVersion
-
metadata
-
projects
-
attributes
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.4/html-single/installation_guide/index#installing-codeready-workspaces_crw を参照して ください。
-
一般に利用可能なスタンドアロンの
devfile.yaml
ファイル。devfile の作成および使用についての詳細は、「devfile を使用してワークスペースを移植可能にする」 を参照してください。
手順
-
以下の URL に移動してワークスペースを開きます。
https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https://<hostURL>/devfile.yaml&override.<parameter.path>=<value>
generateName
プロパティーを上書きする例
以下の初期 devfile について考えてみましょう。
generateName
値を追加または上書きするには、以下の factory URL を使用します。
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.metadata.generateName=myprefix
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.metadata.generateName=myprefix
作成されるワークスペースには、以下の devfile モデルがあります。
プロジェクトソースブランチプロパティーの上書き例
以下の初期 devfile について考えてみましょう。
ソースの branch
の値を追加または上書きするには、以下の factory 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
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
作成されるワークスペースには、以下の devfile モデルがあります。
属性値の上書きまたは作成例
以下の初期 devfile について考えてみましょう。
persistVolumes
属性値を追加または上書きするには、以下の factory URL を使用します。
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.attributes.persistVolumes=true
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.attributes.persistVolumes=true
作成されるワークスペースには、以下の devfile モデルがあります。
属性を上書きすると、attributes
キーワードに続くすべてが属性名として解釈されるため、ドットで区切られた名前を使用できます。
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.attributes.dot.name.format.attribute=true
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml&override.attributes.dot.name.format.attribute=true
作成されるワークスペースには、以下の devfile モデルがあります。
3.1.6. crwctl およびローカル devfile を使用したワークスペースの作成 リンクのコピーリンクがクリップボードにコピーされました!
crwctl
ツールにローカルに保存された devfile を参照させて、CodeReady Workspaces ワークスペースを作成できます。次に CodeReady Workspaces インスタンスは検出された devfile を使用してワークスペースをビルドします。
前提条件
- Red Hat CodeReady Workspaces の実行中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.4/html-single/installation_guide/index#installing-codeready-workspaces_crw を参照して ください。
- CodeReady Workspaces CLI 管理ツール。『 CodeReady Workspaces 2.4 インストールガイド』を参照してください。
devfile は、現在の作業ディレクトリー内のローカルファイルシステムで利用できます。devfile の作成および使用についての詳細は、「devfile を使用してワークスペースを移植可能にする」 を参照してください。
例
devfile.yaml
ファイルを GitHub リポジトリーから現行の作業ディレクトリーにダウンロードします。
手順
-
以下のように、
crwctl
ツールにworkspace:start
パラメーターを指定して devfile からワークスペースを実行します。
crwctl workspace:start --devfile=devfile.yaml
$ crwctl workspace:start --devfile=devfile.yaml