リモートサーバーにてDev Containerを起動して、そこにJetBrains IDEで乗り込んで開発する方法について説明します。
以下のような構成を前提としています。
必要なもの
ローカルマシンに必要なもの
JetBrains Gateway をインストールしておいてください。WebStormなどの個別のIDEは一旦不要です。Gateway利用時に勝手にインストールされるので。
リモートサーバーに必要なもの
- TailscaleなどでSSH可能な状態になっていること。環境セットアップのタイミングでのみ使います。
- DockerとDev Container CLIがインストールされていること
- 開発対象のアプリケーションコードが
git clone
されていること- そのコードベースには、
.devcontainer/devcontainer.json
があること
- そのコードベースには、
Dev Containerに必要なもの
- TailscaleなどでSSH可能な状態になっていること。
手順
リモートサーバーでDev Containerを起動する
リモートサーバーにSSHし、Dev Container CLIでDev Containerを起動します。
devcontainer up --workspace-folder .
JetBrains GatewayでDev Containerに繋ぐ
左ペインの「SSH」タブを開き、右上の「New Project」ボタンを押す。
「Connect to SSH」ダイアログが出るので、「Username」と「Host」、「Port」を埋めて、「Check Connection and Continue」ボタンを押す。
次に、「Choose IDE and Project」ダイアログが出るので、「IDE version」と「Project directory」を指定し、「Download IDE and Connect」ボタンを押す。
しばらくするとIDEが起動して作業に取り書かれる状態になります。
Q&A
JetBrains Gatewayの「Dev Container」機能は使わないの?
JetBrains Gateway自体Betaですが、さらにその機能のひとつである「Docker Dev Container」もBetaなので、そのうち改善されるかもしれませんが、現状はいろいろ機能が足りてなくて実用するには難しいです。簡単な構成のDev Containerなら使えなくもないですが、Dev Container起動時に環境変数を求める構成になっていると、JetBrains Gatewayには環境変数がセットできないため積みます。