ターゲットの実行
特定の 実行 / デバッグ構成については、クラウドや Dockerコンテナーなどの別の環境でコードをGoLandから直接実行できます。
この機能により、アプリの対象となる本番環境で、変更内容を即座にテストできます。 本番環境への移行時に非互換性が発生しないことを保証します。特に、環境に依存するコードの開発時には重要です。 この機能により、通常必要な追加のアクションを省き、何か変更があるたびにアプリをデプロイして実行する手間がかかりません。
前提条件
アプリの実行に使用する環境は ターゲットと呼ばれます。 GoLandでターゲット上のコードを実行するには、ターゲットで 言語ランタイムを定義する必要があります。これは、実行 / デバッグ構成がコードを実行するために利用できるターゲット上の何かを表します。
ターゲット上でコードを実行するために必要なのは、通常ローカル実行に使用する 実行 / デバッグ構成でターゲット実行環境を定義することだけです。 それを行った後、ターゲットでアプリを起動することは、ローカルで起動することと同じです。
同じターゲットで複数の構成を実行できます。 プロジェクト全体のデフォルトの実行ターゲットを設定することができます。
プロジェクトのデフォルトのターゲットを設定する
をクリックしてください。
プロジェクトのデフォルトターゲット リストから、プロジェクトに使用するターゲットを選択します。

サポートされている実行 / デバッグ構成タイプ
次の 実行 / デバッグ構成は、リモートターゲットで実行できます:
Go ビルド
Go テスト
実行 / デバッグ構成を作成する
に進みます。 または、 Alt+Shift+F10 を押してから 0 を押します。
実行 / デバッグ構成ダイアログで、ツールバーの 追加 ボタン
をクリックするか、 Alt+Insert を押します。
サポートされている実行 / デバッグ構成タイプの 1 つを選択します。
すでにターゲットを定義している場合は、 実行 メニューからターゲットを選択します。 それ以外の場合は、 ターゲットの管理… をクリックして新しいターゲットを追加します。 特定のターゲットタイプの構成の詳細については、次の手順を参照してください。

実行 / デバッグ構成テンプレートで実行ターゲットを構成することもできるため、次にその型の新しい構成を作成するときに、そのパラメーターにはすでに目的の値があります。 詳細については、 テンプレートのデフォルト値を構成する を参照してください。
実行
リモートターゲットでアプリを実行するプロシージャは、ローカルで実行する場合と同じです:
メインツールバーで実行 / デバッグ構成を選択します。
をクリックするか、 Shift+F10 を押します。
GoLandはアーティファクトをビルドしてから、ターゲットにコピーします。 その後、指定された構成を使用してターゲット上でアプリを実行します。
ターゲットタイプ
ターゲットは、アプリケーションが実行される環境の構成を記述します。
次のターゲットを作成できます。
リモートターゲットを作成すると、GoLandはリモート環境で使用可能な構成を自動的に検出します。 必要に応じて、追加の構成を手動で構成できます。
WSL
メインメニューで、 をクリックします。
ターゲットを追加 ウィンドウから WSL を選択します。

新規ターゲット ウィザードで、 Linux ディストリビューション リストから Linux ディストリビューションを選択します。 分布が自動的に検出され、イントロスペクションに合格した場合は、 次へ をクリックします。
WSL の Go ランタイム構成が正しく検出されたことを確認し、 完了 をクリックします。
または、独自の設定を入力します。
実行可能にする: Go 実行可能ファイルへのパス (たとえば、 /home/user/sdk/go1.22.0 )
GOPATH: ワークスペースのルートを定義するパス。 ルートディレクトリには、 bin 、 pkg 、 src サブディレクトリが含まれている必要があります。 (たとえば、 /home/user/sdk/gopath )
バージョン: Go SDK のバージョン番号(たとえば、
go1.15.8 linux/amd64)。 GoLand は、go バージョンを実行することでこの情報を自動的に検出します。追加設定: ソースコードファイルと実行可能ファイルのディレクトリを設定できるようにする設定のグループ。
ターゲットで実行するには、GoLand は次のエンティティをターゲットにアップロードする必要があります: ソースコードファイル、作業ディレクトリのファイル、コンパイル済みバイナリ、delve。 追加設定 でパスを指定しない場合、IDE は前述のファイルを格納するためのランダムなディレクトリを作成します。 ソースファイルと実行可能ファイルについては、ランダムに生成されたディレクトリを含む次のスクリーンショットを参照してください。
次のオプションを指定できます。
プロジェクトソースディレクトリ: ソースコードファイルがアップロードされるターゲット上のディレクトリ。
コンパイルされた実行可能ファイルディレクトリ: コードが生成する実行可能ファイルを格納するために使用されるターゲット上のディレクトリ。

ターゲットの実行 ダイアログで、 プロジェクトのデフォルトターゲット リストをクリックし、作成した構成を選択します。

アプリケーションを実行します。

SSH
既存の SSH 構成を使用するか、新しい構成を作成するかを選択します。
SSH リストから既存のSSH構成を選択し、 次へ をクリックします。 SSHの構成の詳細については、 Create SSH configurationsを参照してください。
SSH サーバーの IP、SSH 接続がリッスンしているポート、そしてアプリケーションを実行するサーバーマシン上のユーザー名を入力します。 次へ をクリックしてください。
接続が確立されるのを待ちます。 資格情報を持つエージェントが存在する場合、追加の構成は必要ありません。 それ以外の場合は、認証方法を選択し、必要な値を入力します。
パスワード: パスワードを入力します。
キーペア (OpenSSH または PuTTY): この認証方法を適用するには、クライアントマシンに秘密鍵があり、リモートサーバーに公開鍵が必要です。 GoLand は、 OpenSSHユーティリティで生成する秘密鍵をサポートします。
秘密鍵が保存されているファイルへのパスを指定し、パスフレーズ (存在する場合) を対応するフィールドに入力します。 GoLand にパスフレーズを記憶させるには、 パスフレーズを保存 チェックボックスを選択します。
次へ をクリックしてください。
SSHサーバーのイントロスペクションが完了するのを待ちます。 このステップ実行中に、GoLand は環境で利用できる言語構成を識別しようとします。 次へ をクリックしてください。

次のプロパティを構成します:
rsync を使用する: ファイル転送に rsync(英語) を使用するには、このオプションを切り替えます。 通常、ファイルのコピーが高速化されるため、これをお勧めします。
ターゲット上のプロジェクトパス: プロジェクトファイルの保存に使用されるサーバー上のパス。
言語構成設定を追加します。 構成ごとに、サーバー上のバージョンとパスを指定します。 この環境をターゲットとして選択すると、構成された設定が実行 / デバッグ構成の ビルドと実行 セクションに表示されます。
次の構成設定を使用できます。
実行可能にする: Go 実行可能ファイルへのパス (たとえば、 /usr/local/go/bin/go )
GOPATH: ワークスペースのルートを定義するパス。 ルートディレクトリには、 bin 、 pkg 、 src サブディレクトリが含まれている必要があります。 (たとえば、 /home/goprojects )
バージョン: Go SDK のバージョン番号(たとえば、
go1.15.8 linux/amd64)。 GoLand は、go バージョンを実行することでこの情報を自動的に検出します。追加設定: ソースコードファイルと実行可能ファイルのディレクトリを設定できるようにする設定のグループ。
ターゲットで実行するには、GoLand は次のエンティティをターゲットにアップロードする必要があります: ソースコードファイル、作業ディレクトリのファイル、コンパイル済みバイナリ、delve。 追加設定 でパスを指定しない場合、IDE は前述のファイルを格納するためのランダムなディレクトリを作成します。 ソースファイルと実行可能ファイルについては、ランダムに生成されたディレクトリを含む次のスクリーンショットを参照してください。
次のオプションを指定できます。
プロジェクトソースディレクトリ: ソースコードファイルがアップロードされるターゲット上のディレクトリ。
コンパイルされた実行可能ファイルディレクトリ: コードが生成する実行可能ファイルを格納するために使用されるターゲット上のディレクトリ。

Docker(ドッカー)
Docker サポートを有効にする説明に従って、 Docker サーバー を選択または構成します。
Windows および macOS の場合 – Docker がワークフローで使用されるすべてのフォルダー (プロジェクトフォルダー、 .maven など) にアクセスできることを確認してください。 詳細については、 公式の Docker ドキュメント(英語)を参照してください。
イメージをローカルでビルドするか、Docker レジストリからプルするかを選択します。
Dockerfile: イメージの構築に使用される Dockerfile。
コンテキストフォルダー: ビルド中に Docker デーモンがその内容にアクセスして、後でイメージファイルシステムで使用するフォルダー。
コードを実行する前に毎回自動的にイメージを再ビルドする: このオプションを設定すると、コードが実行されるたびにイメージが再構築されます。 それ以外の場合、GoLandは既存のイメージ(存在する場合)を使用します。
さらに、以下を指定できます:
イメージタグ: ビルドされたイメージの名前とタグを指定します。
docker buildで-tオプションを使用するのと同様です。ビルドオプション:
docker buildコマンドに任意のオプションを指定します。ビルド引数: デフォルトのビルド時変数をオーバーライドします(英語)。
docker buildで--build-argオプションを使用するのと同じです。実行オプション:
docker runコマンドに任意のオプションを指定します。

イメージタグ: レジストリから取得するイメージの完全な座標を指定します。 リポジトリのみが指定されている場合は、デフォルトの
:最新タグが使用されます。実行オプション:
docker runコマンドに任意のオプションを指定します。

コンテナーのイントロスペクションが完了するのを待ちます。 このステップ実行中に、GoLand は環境で利用できる言語構成を識別しようとします。 次へ をクリックしてください。
Go 設定を構成します。
次の構成設定を使用できます。
ターゲット上のプロジェクトパス: プロジェクトファイルの保存に使用されるサーバー上のパス。
実行可能にする: Go 実行可能ファイルへのパス (たとえば、 /home/user/sdk/go1.22.0 )
GOPATH: ワークスペースのルートを定義するパス。 ルートディレクトリには、 bin 、 pkg 、 src サブディレクトリが含まれている必要があります。 (たとえば、 /home/user/sdk/gopath )
バージョン: Go SDK のバージョン番号(たとえば、
go1.15.8 linux/amd64)。 GoLand は、go バージョンを実行することでこの情報を自動的に検出します。追加設定: ソースコードファイルと実行可能ファイルのディレクトリを設定できるようにする設定のグループ。
ターゲットで実行するには、GoLand は次のエンティティをターゲットにアップロードする必要があります: ソースコードファイル、作業ディレクトリのファイル、コンパイル済みバイナリ、delve。 追加設定 でパスを指定しない場合、IDE は前述のファイルを格納するためのランダムなディレクトリを作成します。 ソースファイルと実行可能ファイルについては、ランダムに生成されたディレクトリを含む次のスクリーンショットを参照してください。
次のオプションを指定できます。
プロジェクトソースディレクトリ: ソースコードファイルがアップロードされるターゲット上のディレクトリ。
コンパイルされた実行可能ファイルディレクトリ: コードが生成する実行可能ファイルを格納するために使用されるターゲット上のディレクトリ。

Docker Compose
単一のDocker Composeサービスを実行ターゲットとして使用できます。
Docker サポートを有効にする説明に従って、 Docker サーバー を選択または構成します。
Windows および macOS の場合 – プロジェクトフォルダーなど、ワークフローで使用されるすべてのフォルダーに Docker がアクセスできることを確認してください。 詳細については、 公式の Docker ドキュメント(英語)を参照してください。
Docker Compose構成ファイルを指定し、必要なサービスを選択して、追加の環境変数を提供します。 次へ をクリックしてください。

Docker Composeサービスのイントロスペクションが完了するのを待ちます。 このステップ実行中に、GoLand は環境で利用できる言語構成を識別しようとします。 次へ をクリックしてください。
Go 設定を構成します。
次の構成設定を使用できます。
ターゲット上のプロジェクトパス: プロジェクトファイルの保存に使用されるサーバー上のパス。
実行可能にする: Go 実行可能ファイルへのパス (たとえば、 /home/user/sdk/go1.22.0 )
GOPATH: ワークスペースのルートを定義するパス。 ルートディレクトリには、 bin 、 pkg 、 src サブディレクトリが含まれている必要があります。 (たとえば、 /home/user/sdk/gopath )
バージョン: Go SDK のバージョン番号(たとえば、
go1.15.8 linux/amd64)。 GoLand は、go バージョンを実行することでこの情報を自動的に検出します。追加設定: ソースコードファイルと実行可能ファイルのディレクトリを設定できるようにする設定のグループ。
ターゲットで実行するには、GoLand は次のエンティティをターゲットにアップロードする必要があります: ソースコードファイル、作業ディレクトリのファイル、コンパイル済みバイナリ、delve。 追加設定 でパスを指定しない場合、IDE は前述のファイルを格納するためのランダムなディレクトリを作成します。 ソースファイルと実行可能ファイルについては、ランダムに生成されたディレクトリを含む次のスクリーンショットを参照してください。
次のオプションを指定できます。
プロジェクトソースディレクトリ: ソースコードファイルがアップロードされるターゲット上のディレクトリ。
コンパイルされた実行可能ファイルディレクトリ: コードが生成する実行可能ファイルを格納するために使用されるターゲット上のディレクトリ。
