ターゲットの実行
特定の 実行 / デバッグ構成については、クラウドや Docker コンテナーなどの別の環境でコードを IntelliJ IDEA から直接実行できます。
この機能を使用すると、アプリが想定されている実際の環境で、変更をすぐにテストできます。 これにより、本番環境への移行時に互換性の問題が発生しないことを保証できます。特に環境に依存するコードを開発している場合に重要です。 また、変更があるたびに必要となるアプリのデプロイや実行のための追加アクションを省略できます。
前提条件
アプリの実行に使用する環境は ターゲットと呼ばれます。 IntelliJ IDEA でターゲット上のコードを実行するには、ターゲットで language runtime を定義する必要があります。これは、実行/デバッグ構成がコードを実行する際にターゲット上で使用できるものを指します。 たとえば、 アプリケーションは や Maven の実行/デバッグ構成には、それぞれ JDK や Maven が必要です。
ターゲット上でコードを実行するために必要なのは、通常ローカル実行に使用する 実行 / デバッグ構成でターゲット実行環境を定義することだけです。 それを行った後、ターゲットでアプリを起動することは、ローカルで起動することと同じです。
サポートされている実行 / デバッグ構成タイプ
次の 実行 / デバッグ構成は、リモートターゲットで実行できます。
実行 / デバッグ構成を作成する
に移動します。 または、 Alt+Shift+F10 を押してから 0 を押します。
実行 / デバッグ構成ダイアログで、ツールバーの 追加 ボタン
をクリックするか、 Alt+Insert を押します。 リストには、実行 / デバッグ構成 テンプレートが表示されます。
サポートされている実行 / デバッグ構成タイプの 1 つを選択します。
すでにターゲットを定義している場合は、 実行場所 メニューからターゲットを選択します。 それ以外の場合は、 ターゲットの管理… をクリックして新しいターゲットを追加します。 特定のターゲットタイプの構成の詳細については、次の手順を参照してください。
実行 / デバッグ構成テンプレートで実行ターゲットを構成することもできるため、次にその型の新しい構成を作成するときに、そのパラメーターにはすでに目的の値があります。 詳細については、 テンプレートのデフォルト値を構成する を参照してください。
実行
リモートターゲットでアプリを実行する手順は、ローカルで実行する場合と同じです。
メインツールバーで実行 / デバッグ構成を選択します。

をクリックするか、 Shift+F10 を押します。
IntelliJ IDEA はアーティファクトを作成し、ターゲットにコピーします。 その後、指定されたランタイムを使用してターゲット上でアプリを実行します。
カバレッジのデバッグ、プロファイル、分析
ローカルで実行する場合とまったく同じ方法で、ターゲットで実行される Java アプリケーションの デバッグ、 プロファイリング 、および カバレッジの測定を行うことができます。
ターゲットタイプ
ターゲットは、アプリケーションが実行される環境の構成を記述します。
リモートターゲットを作成すると、IntelliJ IDEA はリモート環境で使用可能なランタイムを自動的に検出します。 必要に応じて、追加のランタイムを手動で構成できます。
SSH
既存の SSH 構成を使用するか、新しい構成を作成するかを選択します。
SSH リストから既存の SSH 構成を選択し、 次へ をクリックします。 SSH の構成の詳細については、 SSH 構成を作成するを参照してください。
SSH サーバーの IP、SSH 接続がリッスンしているポート、およびアプリケーション実行時に利用するサーバーマシン上のユーザーの名前を入力します。 次へ をクリックします。
接続が確立されるのを待ちます。 資格情報を持つエージェントが存在する場合、追加の構成は必要ありません。 それ以外の場合は、認証方法を選択し、必要な値を入力します。
パスワード(P): パスワードを入力します。
キーペア(OpenSSH または PuTTY): この認証方法を適用するには、クライアントマシンに秘密鍵があり、リモートサーバーに公開鍵が必要です。 IntelliJ IDEA は、 OpenSSH(英語) ユーティリティで生成された秘密鍵をサポートします。
秘密鍵が保存されているファイルへのパスを指定し、パスフレーズ (存在する場合) を対応するフィールドに入力します。 IntelliJ IDEA にパスフレーズを記憶させるには、 パスフレーズの保存(E) チェックボックスを選択します。
次へ をクリックします。
SSH サーバーのイントロスペクションが完了するのを待ちます。 このステップの間、IntelliJ IDEA は環境で使用可能な言語ランタイムを識別しようとします。 次へ をクリックします。
次のプロパティを構成します。
rsync を使用する: ファイル転送に rsync(英語) を使用するには、このオプションを切り替えます。 通常、ファイルのコピーが高速化されるため、これをお勧めします。
ターゲット上のプロジェクトパス: プロジェクトファイルの保存に使用されるサーバー上のパス。
言語ランタイムを追加します。 ランタイムごとに、サーバー上のバージョンとパスを指定します。 この環境をターゲットとして選択すると、構成された設定が実行 / デバッグ構成の ビルドと実行 セクションに表示されます。
次のランタイムを使用できます。
Java: アプリケーションの実行に適したサーバー上の JDK。 このランタイムタイプを選択すると、アプリケーションはローカルでビルドされ、宛先にコピーされます
Maven: サーバーに Maven がインストールされています。 このランタイムタイプを選択すると、ソースとライブラリがサーバーにコピーされ、そこでビルドされて実行されます。
Docker
Docker サポートを有効にする説明に従って、 Docker サーバー を選択または構成します。
Windows および macOS の場合 – Docker がワークフローで使用されるすべてのフォルダー (プロジェクトフォルダー、 .maven など) にアクセスできることを確認してください。 詳細については、 公式の Docker ドキュメント(英語)を参照してください。
イメージをローカルでビルドするか、Docker レジストリからプルするかを選択します。
Dockerfile: イメージの構築に使用される Dockerfile。
コンテナーフォルダー: ビルド中に Docker デーモンがその内容にアクセスして、後でイメージファイルシステムで使用するフォルダー。
コードを実行する前に毎回自動的にイメージを再ビルドする: このオプションを設定すると、コードが実行されるたびにイメージが再構築されます。 それ以外の場合、IntelliJ IDEA は既存のイメージ(存在する場合)を使用します。
さらに、以下を指定できます。
イメージタグ: ビルドされたイメージの名前とタグを指定します。
docker buildで-tオプションを使用するのと同様です。ビルドオプション:
docker buildコマンドに任意のオプションを指定します。ビルド引数: デフォルトのビルド時変数をオーバーライドします(英語)。
docker buildで--build-argオプションを使用するのと同じです。実行オプション:
docker runコマンドに任意のオプションを指定します。
イメージタグ: レジストリから取得するイメージの完全な座標を指定します。 リポジトリのみが指定されている場合は、デフォルトの
:latestタグが使用されます。実行オプション:
docker runコマンドに任意のオプションを指定します。
コンテナーのイントロスペクションが完了するのを待ちます。 このステップの間、IntelliJ IDEA は環境で使用可能な言語ランタイムを識別しようとします。 次へ をクリックします。
必要に応じて、言語ランタイムを構成します。 次の場合に必要になることがあります。
複雑なイメージがある場合 (たとえば、複数の JDK を使用する場合)。 プライマリランタイムは自動的に識別されます。 ただし、追加のランタイムは手動で構成する必要があります。
イントロスペクションは失敗します。 ほとんどの場合、IntelliJ IDEA は、手順 1 のコンテキストに基づいて、プライマリランタイムを正しく識別します。 これが発生しない場合は、プライマリランタイムを手動で変更します。
ランタイムごとに、コンテナーでそのバージョンとパスを指定します。 この環境をターゲットとして選択すると、構成されたランタイムが実行 / デバッグ構成の ビルドと実行 セクションに表示されます。
次のランタイムを使用できます。
Java: アプリケーションの実行に適した JDK。 このランタイムタイプを選択すると、アプリケーションはローカルでビルドされ、宛先にコピーされます
Maven: コンテナー内の Maven。 このランタイムタイプを選択すると、ソースとライブラリがコンテナーにコピーされ、そこでビルドされて実行されます。
Docker Compose
単一の Docker Compose サービスを実行ターゲットとして使用できます。
Docker サポートを有効にする説明に従って、 Docker サーバー を選択または構成します。
Windows および macOS の場合 – Docker がワークフローで使用されるすべてのフォルダー (プロジェクトフォルダー、 .maven など) にアクセスできることを確認してください。 詳細については、 公式の Docker ドキュメント(英語)を参照してください。
Docker Compose 構成ファイルを指定し、必要なサービスを選択して、追加の環境変数を提供します。 次へ をクリックします。
Docker Compose サービスのイントロスペクションが完了するのを待ちます。 このステップの間、IntelliJ IDEA は環境で使用可能な言語ランタイムを識別しようとします。 次へ をクリックします。
必要に応じて、言語ランタイムを構成します。 これは、次の場合に必要になることがあります。
複数のランタイムを持つ複雑なサービスがある場合、IntelliJ IDEA はプライマリサービスを自動的に識別します。 ただし、追加のランタイムは手動で構成する必要があります。
イントロスペクションが失敗した場合は、プライマリランタイムを手動で変更します。
ランタイムごとに、コンテナーでそのバージョンとパスを指定します。 この環境をターゲットとして選択すると、構成されたランタイムが実行 / デバッグ構成の ビルドと実行 セクションに表示されます。
次のランタイムを使用できます。
Java: コンテナーで使用可能な Java ランタイムがある場合、アプリケーションはローカルでビルドされてから、ターゲットにコピーされます。
Maven および Gradle: コンテナーに Maven または Gradle がある場合、ソースとライブラリがコンテナーにコピーされ、そこでビルドおよび実行されます。