第3章 Developer workspaces
Red Hat CodeReady Workspaces は、コード、ビルド、テスト、実行、デバッグのアプリケーションに必要なあらゆる内容を開発者ワークスペースに提供します。これを可能にするために、開発者ワークスペースは主に 4 つのコンポーネントを提供します。
- プロジェクトのソースコード。
- Web ベースの IDE。
- 開発者がプロジェクトで作業するために必要なツール依存関係
- アプリケーションランタイム: 実稼働環境でアプリケーションを実行する環境のレプリカ
Pod は CodeReady Workspaces ワークスペースの各コンポーネントを管理します。そのため、CodeReady Workspaces ワークスペースで実行しているすべてはコンテナー内で実行されます。これにより、CodeReady Workspaces ワークスペースの移植性が非常に高くなります。
埋め込みブラウザーベースの IDE は、CodeReady Workspaces ワークスペースで実行しているすべてのアクセスのポイントとなります。これにより、CodeReady Workspaces ワークスペースを簡単に共有できます。
デフォルトでは、一度に 1 つのワークスペースのみを実行できます。デフォルト値を変更するには、『 CodeReady Workspaces 2.3 Installation Guide』を参照してください。
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 を使用してワークスペースをビルドします。
前提条件
- Red Hat CodeReady Workspaces の稼働中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、『 CodeReady Workspaces 2.3 Installation GuideCodeReady Workspaces』のクイックスタートを参照してください。
-
devfile.yaml
または.devfile.yaml
ファイルは、HTTPS で利用可能な Git リポジトリーのルートフォルダーにあります。devfile の作成および使用に関する詳細は、「 devfile を使用し たワークスペースポータブルの使用」を参照してください。
手順
https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https:// <GitRepository> の URL を開いてワークスペースを実行します 。
例
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 のインスタンスをインストールするには、『 CodeReady Workspaces 2.3 Installation GuideCodeReady Workspaces』のクイックスタートを参照してください。
-
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 の raw コンテンツを示す URL です。CodeReady Workspaces インスタンスは、検出された devfile を使用してワークスペースを構築します。
前提条件
- Red Hat CodeReady Workspaces の稼働中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、『 CodeReady Workspaces 2.3 Installation GuideCodeReady Workspaces』のクイックスタートを参照してください。
-
パブリックアクセス可能なスタンドアロン
devfile.yaml
ファイル。devfile の作成および 使用に関する詳細は、「Devfile を使用したワークスペースポータブルの使用」を 参照してください。
手順
-
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
https://che.openshift.io/f?url=https://gist.githubusercontent.com/themr0c/ef8e59a162748a8be07e900b6401e6a8/raw/8802c20743cde712bbc822521463359a60d1f7a9/devfile.yaml
3.1.5. ファクトリーパラメーターを使用した devfile 値のオーバーライド リンクのコピーリンクがクリップボードにコピーされました!
リモート devfile の以下のセクションの値は、特別に構築された追加のファクトリーパラメーターを使用して上書きできます。
-
apiVersion
-
metadata
-
projects
-
attributes
前提条件
- Red Hat CodeReady Workspaces の稼働中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、『 CodeReady Workspaces 2.3 Installation GuideCodeReady Workspaces』のクイックスタートを参照してください。
-
一般にアクセス可能なスタンドアロン
devfile.yaml
ファイル。devfile の作成および 使用に関する詳細は、「Devfile を使用したワークスペースポータブルの使用」を 参照してください。
手順
-
URL https://codeready-<openshift_deployment_name>.<domain_name>/f?url=https:// <hostURL>
/devfile.yaml&override.<parameter.path>=<value>の URL に移動してワークスペースを開きます。
generateName プロパティーの オーバーライド
例
以下の初期 devfile を考慮してください。
generateName の値を追加または上書き する
には、以下のファクトリー 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 を考慮してください。
ソース ブランチ
の値を追加または上書きするには、以下のファクトリー 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 属性値を追加または 上書き
するには、以下のファクトリー 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 を使用したワークスペースの作成 リンクのコピーリンクがクリップボードにコピーされました!
CodeReady Workspaces ワークスペースは、crwctl ツール
をローカルに保存された devfile を参照して作成できます。CodeReady Workspaces インスタンスは、検出された devfile を使用してワークスペースを構築します。
前提条件
- Red Hat CodeReady Workspaces の稼働中のインスタンス。Red Hat CodeReady Workspaces のインスタンスをインストールするには、『 CodeReady Workspaces 2.3 Installation GuideCodeReady Workspaces』のクイックスタートを参照してください。
- CodeReady Workspaces CLI 管理ツール。『 CodeReady Workspaces 2.3 Installation Guide』を参照してください。
devfile は、現在の作業ディレクトリーのローカルファイルシステムで利用できます。devfile の作成および 使用に関する詳細は、「Devfile を使用したワークスペースポータブルの使用」を 参照してください。
例
devfile.yaml
ファイルを GitHub リポジトリー から現在の作業ディレクトリーにダウンロードします。
手順
-
以下のように、
workspace:start
パラメーターで crwctl ツールを指定して、devfile からワークスペース
を実行します。
crwctl workspace:start --devfile=devfile.yaml
$ crwctl workspace:start --devfile=devfile.yaml
その他のリソース