2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

開発の現場では、各メンバーの開発環境を整えるのは必須ですが地味に時間がかかります。
オンボード時のセットアップに半日かかるとしたら、開発者が30名くらいのプロジェクトではそれだけで計1人月程度を要します。なかには「設定がうまくいかない」という人もいるでしょう、さらに時間と手間がかかります。
複数のプロジェクトを同時に担当する人は、各プロジェクト向けに環境をつくるのも手間がかかるし、言語のバージョンが競合する場合などは環境の切り替えも大変です。
これらの課題への対策として開発環境をリモートに構築するというソリューションがあります。
これを使うことで「開発プラットフォームを外部に必要なタイミングで複製し、IDEはブラウザ上で動かす」という環境を提供することができ、開発者はローカル環境での準備に負荷をかけることなく、開発作業に集中できるというものです。

リモート開発環境のソリューション

クラウド上で利用するソリューションとしては、CodeSpaces(GitHub)、CodeCatalyst(AWS)などが挙げられると思いますが、パブリックな環境を使った開発が難しいという制約もよく聞きます。
ここでは、OpenShift上で実現可能なリモート開発環境であるDev Spacesの使い方をご紹介します。

Dev Spacesとは

OpenShift上で展開できるコンテナベースの開発環境で、コンテナ上で開発のための編集やテスト実行が行えます。実装はEclipse Cheをベースとしています。
利用するIDEはオープンソース版のVSCodeが標準です。IntelliJ IDEA Community Editionもプレビューレベルで選択可能となっています。

検証環境

プロダクト バージョン
OpenShift 4.14.12(OpenShift Local)
Dev Spaces 3.12
OS CentOS stream9

OpenShiftでDev Spacesを使えるようにする(管理者向け)

手順はおおまかに
・OpenShift環境にOperatorでDev Spacesをインストールする
・開発プロジェクトにDevspaces用のインスタンスを作成する
の2パートになります。

OpenShift Localの設定変更

検証ではOpenShift Localを使用していますが、リソース要求の初期設定がコンパクトに設定されているためデフォルトでは起動ができませんでした。そのため、ターミナルから次の設定変更を行っています。

crc config set disk-size 60
crc config set memory 16000

OpenShift環境にOperatorでDev Spacesをインストールする

OperatorHubから、次のOperatorを検索します。

インストール設定はデフォルトのままで進めます。
image.png

image.png

あまり時間がかからずインストールは終了します。

開発プロジェクトにDev Spaces用のインスタンスを作成する

この記事向けに、開発プロジェクト「devspaces-sample」を作成します。

「インストール済みのOperator」(プロジェクト:devspaces-sample)は次のようになっており、右のリンクにある「Dev Spaces instance specification」をクリックします。
(DevWorkspaceはDevspacesのインストール時にあわせて自動的に追加されます。)
image.png

インスタンスは未作成のため、ここからインスタンスを作成していきます。右の「CheClusters」をクリックします。
image.png

ここではデフォルトのままで作成します。

特に問題なければ、developerパースペクティブのdevspaces-sampleでは、次のように展開されます。検証環境では4〜5分で起動しました。

もし起動がうまくいかないようであれば(plugin registryが起動しきらない場合など)、Podのイベント表示などから状況を確認ねがいます。

インスタンスが作成されました。
image.png

インスタンスの詳細を確認します。このなかの「Red Hat OpenShift Dev Spaces URL」が、各開発者向けに提供するエントリーポイントです。
image.png

Dev Spacesにアクセスする(開発者向け)

開発環境を起動する

上で確認したDev Spaces用のURLにアクセスします。
ログインの後、ユーザーに対するアクセス許可が要求されるため、Allowを選択します。

ワークスペースの管理画面が表示されます。「Git repo URL」の欄に作業対象のGitのリポジトリURLを指定して、Create&Openのボタンを押します。
image.png
image.png

ブラウザ上にVScodeのエディター画面が表示されます。
image.png

開発環境上でアプリケーションを実行する

VSCode上からターミナルを起動し、

./mvnw liberty:dev

を実行します。
利用するポート番号をリモート開発環境からローカルにリダイレクトする、また新しいタブで表示するかの確認が入ります。

リモート開発環境で起動したアプリケーションを、ローカルのブラウザ上に表示することができます。
image.png

まとめ

リモート開発環境を使うことで、「コンテナでクイックにアプリケーションを展開する」というコンテナ利用体験を開発タスクにも広げることができます。
開発シーンでの見えづらいコストを削減する可能性がありますので、まずは体験してみてください。

参考URL

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?