Space
The intelligent code collaboration platform
Space and SpaceCode will be discontinued on June 1, 2025. Learn more → →
JetBrains Space でのリモート開発のご紹介
すでにご存じかもしれませんが、JetBrains が JetBrains IDE 向けのリモート開発ソリューションを発表しました。
このソリューションは主にローカルマシンや非力なノートパソコンの限界を克服することで、開発者がより効率的に時間を節約してプロジェクトへの貢献度を上げられるようにすることを目標としています。
JetBrains はこの目標を念頭に置いて IDE のフロントエンドとバックエンドを分離することにしました。 お手元のローカルマシンにインストールされた単一のソフトウェアは、IDE ユーザーインターフェースの表示とリモートバックエンドとの通信を行なうクライアントになります。 その後のインデックスと構文木の作成、コード補完とリファクタリングの提供といった重い処理はすべてバックエンドが担います。
リモートバックエンドには何を使用できるのか気になりませんか? その選択肢はさまざまですが、私たちは JetBrains IDE のリモートバックエンドに関して最高クラスのサポートを提供できるものと自負しています。 そこで、JetBrains Space のクラウド開発環境をご紹介します!
[日本語字幕を ON にするには、歯車をクリックし、字幕 -> 日本語 を選択してください]
Space 開発環境を使用することで、リモート開発手法を確立して以下を実現できます。
- 環境を標準化してオンボーディングを高速化。
- 作成済みのスナップショットを使ってすぐに使用できる IDEを取得。
- 開発環境の管理を一元化。
- 開発環境の自動休止によるリソース節約。
- 複数のタスクを同時実行。
- チームメイトとの共同コーディング。
Space 開発環境とその使用方法に関する詳細は、こちらのブログ記事をご覧ください。
開発環境とは?
(JetBrains Space における)開発環境とは、プロジェクトのソースコードにアクセス可能で、ローカルのコードエディターにバックエンドコンポーネントを提供する Docker コンテナーを格納した専用仮想マシンを指します。 このコンテナーは、Space Automation で使用されているものと同じエンジンによってホストされています。 この仕組みに関する詳細は、こちらの記事をご覧ください。
リモート開発に Space を選ぶ理由
Space はソフトウェアチームとプロジェクト向けのオールインワン型ソリューションで、Git リポジトリのホスティングと CI/CD パイプラインの自動化からパッケージの公開まで、開発ライフサイクル全体を包括的に支援するツールとして機能します。
今後、Space はリモートソフトウェア開発ワークフローを包括的に支援するため、クラウド内の仮想マシンをリモート開発環境として自動的に管理する機能を提供します。
JetBrains 謹製のリモート開発パイプライン
Space を使用すれば、すぐに開発環境を構成、起動、再現、管理し、使い慣れた JetBrains IDE に接続してコーディングを開始できます。
IntelliJ IDEA Ultimate と JetBrains による次世代 IDE である Fleet は、Space によるリモート開発をすでにサポートしています。PyCharm、GoLand、WebStorm、CLion、およびその他の JetBrains IDE でも近日サポート予定です。
JetBrains が提供するリモート開発ソリューションの詳細は、こちらの記事をご覧ください。
コスト効率の高いソリューション
Space はプロジェクトの規模に適した VM を提供し、30 分間操作が行われなかった開発環境を自動的に休止状態にするため、稼働中のリモート開発環境のコストを最適化するのに役立ちます。 開発環境の価格プランと利用可能な VM タイプに関する詳細をご確認ください。
コードを安全にセキュリティ保護
コーディングワークスペースを実行するすべての仮想マシンは互いに分離されているため、1 つの仮想マシンが複数の環境で実行されることはありません。 開発環境の仮想ネットワークも分離されています。 開発環境は固定の一時的な Git ブランチとして扱うことができるため、固定のローカル開発環境を管理するにあたって生じる衝突を回避することができます。 使用後の開発環境は単純に削除することができます。
柔軟な認証と承認
プロジェクト単位で柔軟に権限を構成できるため、プロジェクトのコーディングワークスペースを使用および管理できるユーザーを指定する以外は何も構成する必要はありません。
現時点の Space 開発環境が提供している機能
- 事前構成済みの再現可能な環境
開発環境が Docker コンテナー内で稼働しているため、プロジェクトに必要なすべてのツールとライブラリは Dockerfile を使用してインストールできます。 プロジェクト内に ./.fleet/Dockerfile ファイルがない場合、Space がデフォルトのコンテナーイメージを使用します。 これにより、チーム全体が使用する開発環境を統一し、新しい開発メンバーのオンボーディングエクスペリエンスを合理化できます。 新しい開発メンバーはプロジェクト用のローカルマシンを準備しなくても、すぐに開発に取りかかることができます。
- 開発環境のウォームアップ
この機能は優れものです! Space は作業用バックエンドの準備、Git リポジトリのクローン、プロジェクトのインデックス作成、および依存関係の解決をユーザーに代って行ないます。 まるで自分よりも 1 時間早く出社したメンバーが代わりにコンピューターの電源を入れ、IDE でプロジェクトを開き、すべてをお膳立てしてくれたかのように感じられるでしょう。 そのため、好調な一日のスタートを切り、100% 準備が整った IDE で作業を開始できます。
このウォームアップは Space Automation を利用して実行されます。 ウォームアップジョブをプロジェクトの .space.kts ファイルに追加し、必要なウォームアップスクリプトをすべてジョブに追加したら、それを実行してください。 ジョブを毎日実行するスケジュールを構成することもできます。 開発環境のウォームアップに関する詳細は、こちらの記事をご覧ください。
- 開発環境の共有
同僚に開発環境のリンクを送信し、IDE で開いてコードを確認、実行、デバッグしてもらうことができます(現時点は Fleet のみで可能)。
- 開発環境の休止
30 分以上使用されていない開発環境は自動的に休止状態になり、コンテナーがシャットダウンされて対応する仮想マシンが解放されます。 未保存の変更はすべて、開発環境のストレージに保存されます。 作業を再開する準備が整ったら、マウントされているまったく同じストレージを使用して環境を復元できます。 開発環境を休止すると、未使用リソースのコストが発生することがありません。
- JetBrains IDE のサポート
現時点で次の 2 つのオプションを利用できます。
- IntelliJ IDEA と JetBrains Gateway(Toolbox App からインストール可能)– IntelliJ IDEA がローカルにインストールされ、JetBrains Gateway ランチャーを使用して開発環境に接続します。 この初回リリースで Space 開発環境がサポートしているのは IntelliJ IDEA のみです。 その他の IntelliJ ベースの IDE も今後サポートされる予定ですので、今後のお知らせをお待ちください。
- JetBrains Fleet(早期プレビューで入手可能)– JetBrains による次世代 IDE です。 ゼロから構築された Fleet は、IntelliJ のコード処理エンジンを採用しており、分散 IDE アーキテクチャと改良された UI を備えています。 Fleet は、リモートおよび共同開発ワークフローを中核機能として提供しています。
- スケーラビリティ
プロジェクトの規模に合わせてパフォーマンスとコストを最適化するため、Regular(4 CPU コア、8 GB RAM)、Large(8 CPU、16 GB RAM)、Extra Large(16 CPU コア、32 GB RAM)の 3 種類のインスタンスから選択できます。
今後の計画
- サポート対象 IDE の拡大
IntelliJ IDEA Ultimate と Fleet に加えて、PyCharm、GoLand、WebStorm、CLion、およびその他の IntelliJ ベース JetBrains IDE もサポート予定です。
- Web アプリ開発者向けの開発環境共有機能
ある Web アプリを開発中で、チームメンバーに最後の変更をテストしてもらいたいとします。 通常、ローカルマシンでアプリを開発する際は変更をコミットしてプッシュするほか、ローカルネットワーク内に検証環境を準備する必要があります。 開発環境があれば、アプリをビルドして実行するだけで済みます。 共有可能なリンクを作成し、そのリンクを知っている人に認証なしで Web アプリにアクセスさせることができます。
- 複数 Git リポジトリのサポート
現時点では、1 つの開発環境で扱えるのは 1 つのプロジェクトリポジトリだけです。
- その他の機能
- さまざまな招待フローと共同作業者/ゲストのリストをサポートする高度な共有オプション。
- ユーザーシークレットの開発環境へのプロビジョニング。
- 開発環境のワークスペースを記述する Devfile フォーマットのサポート。
- リソースクォータをサポートする、組織レベルおよびプロジェクトレベルでの開発環境のリソース管理。
- オンプレミスの開発環境。
- セキュリティ監査とその他の機能。
クラウド開発環境で開発を始めるには
JetBrains Fleet か JetBrains Gateway を手元のマシンにインストールして、Space でプロジェクトをホストするだけです。 次の詳細な手順に従ってください。
- 開発環境で開発を始める。
- プロジェクト用の開発環境を準備する。
- Space で Git リポジトリをミラーリングして、開発環境で外部リポジトリを使用できるようにする。
Space 開発環境に関して問題が発生した場合は、JetBrains のウェブサイトからリクエストを送信してサポートチームにお問い合わせください。
Space 開発環境はいかがでしたか? 以下のコメント欄でご意見やご提案をお寄せください。
オリジナルブログ投稿(英語)の作者: