開発者向け機能 - CodeReady Workspaces(IDE)
開発者機能
海外サッカー賭け Container Platform
- 開発者向け機能の位置付け
- S2Iビルド/Red Hat 公式コンテナイメージ
- CodeReady Workspaces(IDE)
- 海外サッカー賭け Pipelines/海外サッカー賭け GitOps(CICD)
- 海外サッカー賭け Serverless
海外サッカー賭け Virtualization
CodeReady Workspaces 2
Based on Eclipse Che 7
- Kubernetesベースの開発環境: Kubernetes上で完全にコンテナ化された開発環境を提供
- 新しいエディタ: ブラウザ上で実現する最新の開発体験
- VSCode extension compatibility: 既存のVSCode extensionを利用可能
- Devfile: 開発環境をDevfileで定義
- 海外サッカー賭け VSCode Plug-in: 海外サッカー賭け での開発を更に高速に
- 簡単な操作と監視: 組み込みのPrometheus, Grafanaダッシュボード
Workspaces: 海外サッカー賭け上で集中的にホストされるSandbox
CRW workspace とは 海外サッカー賭け上で動く開発者サンドボックスコーディングに必要な全てがコンテナにパッケージングされる。
- Workspaceで提供されるもの:
- アプリケーションランタイム
- ビルドツール一式
- 開発ツール: ブラウザベースエディタ + プラグイン
- プロジェクトのソースコードリポジトリとの連携
Workspace Pods
- Tools
-
- Editor
- Plug-ins
- Commands
- VCS
- Runtime Env
-
- Runtime Dep
- Env Variables
- Common Libraries
- Test Env
-
- Testing Tools
- Target environment
- Log services
VSCode extensionsによるカスタマイズ
「Software Collections(for RHEL7)」および「Application Streams (for RHEL8)」のコンテナイメージのサポートが海外サッカー賭けのサブスクリプションに含まれています。
- Visual Studio Code extensions 互換
- Extensions は依存ライブラリと一緒にパッケージング
- プラグインレジストリに個別にプラグインを登録可
VSCodeで利用可能なRed Hat extensionsは全てCodeReady Workspaces 2使用可
Devfileを使ったworkspaceのコード管理
Devfileを用いて再現可能 & 設定容易なポータブル開発環境を定義
ランタイム、ソースコード、リポジトリ、ツール、プラグインやコードを実行・ビルド・デバッグする為に必要なコマンド一式を揃えた開発環境をdevfile(YAML)による抽象化で定義することが可能
- Devfileの定義
-
- Project
-
- Name
- Repo
- Branch
- Editor
- Tools
- Runtime Env
- Build Env
- Commands
-
- Build
- Run
- Debug
Devfile Example
- Project情報
- workspaceに必要なコンポーネントのリスト
- Plugin の定義
- 使用するRuntimeイメージ
- コンテナに設定する環境変数の定義
- エンドポイントの定義
--- apiVersion:1.0.0 metadata:generateName:java-web-vertx- projects: -Name:java-web-vertx source:type:git location:"https://github.com/che-samples/web-java-vertx" components: -type:chePlugin id:redhat/java/latest - type:dockerimage alias:maven image:quay.io/eclipse/che-java8-maven:nightly env: -Name:JAVA_OPTS value:"-Duser.home=/home/user" - Name:MAVEN_OPTS value:$(JAVA_OPTS) memoryLimit:512Mi endpoints: -Name:'8080/tcp' port:8080 mountSources:true volumes: -Name:m2 containerPath:/home/user/.m2
