运行目标
对于某些 run/debug configurations ,您可以直接从 GoLand 在另一个环境中运行您的代码,比如云或 Docker 容器。
此功能使您能够立即针对应用程序的目标真实环境测试更改。 这确保了在迁移到生产环境时不会出现不兼容问题,这对于依赖环境的代码尤为重要。 此功能还免去了通常在每次更改时需要部署和运行应用程序的额外操作。
先决条件
用于运行应用程序的环境称为 目标。 要使 GoLand 在目标上运行代码,目标必须定义一个 语言运行时 ,这是目标上可以被运行/调试配置用来运行代码的部分。
为了在目标设备上运行您的代码,您只需要在通常用于本地运行的 run/debug configuration中定义目标执行环境。 在您完成这一步之后,在目标设备上启动该应用程序与在本地启动它没有区别。
您可以在同一目标上运行多个配置。 可以设置项目范围的默认运行目标。
为项目设置默认目标
单击 。
从 项目默认目标 列表中选择要用于项目的目标。

支持的运行/调试配置类型
以下 run/debug configurations 可以在远程目标上运行:
Go 构建
Go 测试
创建运行/调试配置
转到 。 或者,按 Alt+Shift+F10 ,然后 0。
在 运行/调试配置对话框中,点击工具栏上的 添加 按钮
或按 Alt+Insert。
选择一种 受支持的 运行/调试配置类型。
如果您已经定义目标,请从 运行于 菜单中选择。 否则,点击 管理目标… 以添加新的目标。 如需了解有关配置特定目标类型的更多信息,请参考以下程序:

您还可以在运行/调试配置模板中配置运行目标,这样下次创建该类型的新配置时,其参数就已经有了所需的值。 有关更多信息,请参见 配置模板的默认值。
运行
在远程目标上运行应用程序的过程与在本地运行它的过程相同:
在主工具栏上选择运行/调试配置。
点击
或按 Shift+F10。
GoLand 构建工件,然后将它们复制到目标。 之后,它使用指定的配置在目标上运行应用程序。
目标类型
一个 target描述了应用程序运行环境的配置。
您可以创建以下目标:
当您创建远程目标时,GoLand 会自动检测远程环境中可用的配置。 如果需要,您可以手动配置其他配置。
WSL
在主菜单中,点击 。
从 添加目标于 窗口中选择 WSL。

在 新目标 向导中,从 Linux 发行版(D) 列表中选择您的 Linux 发行版。 如果发行版已自动检测到并且内省通过,请点击 下一个。
检查 WSL 的 Go 运行时配置是否正确检测到,然后点击 完成。
或者,输入您自己的设置。
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 version自动检测此信息。附加设置 :一组设置,允许您设置源代码文件和可执行文件的目录。
要在目标上运行,GoLand 需要将以下实体上传到目标:源代码文件、工作目录中的文件、已编译的二进制文件和 delve。 如果您未在 附加设置 中指定路径,IDE 将创建随机目录来存储上述文件。 请参阅以下截图,其中显示了为源文件和可执行文件随机生成的目录。
您可以指定以下选项:
项目源目录 :目标上用于上传源代码文件的目录。
经过编译的可执行文件目录 :目标上用于存储代码生成的可执行文件的目录。

在 运行目标 对话框中,点击 项目默认目标 列表并选择创建的配置。

运行您的应用程序.

SSH
选择是否使用现有的 SSH 配置或创建新的配置:
从 SSH 列表中选择一个现有的 SSH 配置,然后点击 下一个。 有关配置 SSH 的更多信息,请参阅 创建 SSH 配置。
请输入 SSH 服务器的 IP、监听 SSH 连接的端口,以及您将代表其在服务器机器上运行应用程序的用户名称。 单击 下一个。
请等待连接建立。 如果存在具有凭证的代理,则无需额外配置。 否则,请选择验证方法并提供所需的值:
密码(P) :输入密码。
密钥对(OpenSSH 或 PuTTY) :要应用此身份验证方法,您必须在客户端计算机上拥有私钥,并在远程服务器上拥有公钥。 GoLand 支持通过 OpenSSH 实用程序生成的私钥。
指定存储您 私钥 的文件路径,并在相应字段中输入密码短语(如果有)。 要让 GoLand 记住该密码短语,请选中 保存密码短语(E) 复选框。
单击 下一个。
等待 SSH 服务器自检完成。 在此步骤中,GoLand 尝试识别环境中可用的语言配置。 单击 下一个。

配置以下属性:
使用rsync :切换此选项以使用 rsync进行文件传输。 建议这样做,因为它通常会加快文件复制的速度。
目标的项目路径 :服务器上用于存储项目文件的路径。
添加语言配置设置。 对于每个配置,指定其版本和在服务器上的路径。 配置的设置随后会出现在 构建并运行 部分,当您选择此环境作为目标时的运行/调试配置中。
以下配置设置可用:
Go 可执行文件 :Go 可执行文件的路径(例如, /usr/local/go/bin/go )
GOPATH :定义工作区根目录的路径。 根目录必须包含 bin 、 pkg 和 src 子目录。 (例如, /home/goprojects )
版本 :Go SDK 的版本号(例如,
go1.15.8 linux/amd64)。 GoLand 通过运行go version自动检测此信息。附加设置 :一组设置,允许您设置源代码文件和可执行文件的目录。
要在目标上运行,GoLand 需要将以下实体上传到目标:源代码文件、工作目录中的文件、已编译的二进制文件和 delve。 如果您未在 附加设置 中指定路径,IDE 将创建随机目录来存储上述文件。 请参阅以下截图,其中显示了为源文件和可执行文件随机生成的目录。
您可以指定以下选项:
项目源目录 :目标上用于上传源代码文件的目录。
经过编译的可执行文件目录 :目标上用于存储代码生成的可执行文件的目录。

Docker
按照 启用 Docker 支持 中的说明选择或配置一个 Docker 服务器。
对于 Windows 和 macOS——请确保 Docker 可以访问工作流程中使用的所有文件夹,例如项目文件夹、 .maven 等。 如需更多信息,请参阅 官方 Docker 文档。
选择您是要在本地构建镜像还是从 Docker 注册表拉取。
Dockerfile :用于构建映像的 Dockerfile。
上下文文件夹 :在构建过程中,可供 Docker 守护程序访问其内容的文件夹,稍后将在镜像文件系统中使用。
每次运行代码之前自动重新构建镜像 :当此选项设置后,每次运行代码时,图像都会重建。 否则,GoLand 将使用已有的镜像(如果有的话)。
此外,您可以指定以下内容:
镜像标记 :指定构建镜像的名称和标签。 类似于使用
-t选项与docker build。构建选项 :指定
docker build命令的任意选项。构建实参: 重写默认的构建时变量。 与使用
--build-arg选项docker build类似。运行选项 :指定
docker run命令的任意选项。

镜像标记 :指定从镜像仓库拉取镜像的完整坐标。 默认情况下,如果仅指定 repository,则将使用
:latest标签。运行选项 :指定
docker run命令的任意选项。

等待容器自检完成。 在此步骤中,GoLand 尝试识别环境中可用的语言配置。 单击 下一个。
配置 Go 设置。
以下配置设置可用:
目标的项目路径 :服务器上用于存储项目文件的路径。
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 version自动检测此信息。附加设置 :一组设置,允许您为源代码文件和可执行文件设置目录。
要在目标上运行,GoLand 需要将以下实体上传到目标:源代码文件、工作目录中的文件、已编译的二进制文件和 delve。 如果您未在 附加设置 中指定路径,IDE 将创建随机目录来存储上述文件。 请参阅以下截图,其中显示了为源文件和可执行文件随机生成的目录。
您可以指定以下选项:
项目源目录 :目标上用于上传源代码文件的目录。
经过编译的可执行文件目录 :目标上用于存储代码生成的可执行文件的目录。

Docker Compose
您可以将单个 Docker Compose 服务用作运行目标。
按照 启用 Docker 支持 中的说明选择或配置一个 Docker 服务器。
对于 Windows 和 macOS,请确保 Docker 可以访问工作流中使用的所有文件夹,例如项目文件夹。 如需更多信息,请参阅 官方 Docker 文档。
指定 Docker Compose 配置文件,选择所需的服务,并提供任何附加的环境变量。 单击 下一个。

请等待 Docker Compose 服务内省完成。 在此步骤中,GoLand 尝试识别环境中可用的语言配置。 单击 下一个。
配置 Go 设置。
以下配置设置可用:
目标的项目路径 :服务器上用于存储项目文件的路径。
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 version自动检测此信息。附加设置 :一组设置,允许您为源代码文件和可执行文件设置目录。
要在目标上运行,GoLand 需要将以下实体上传到目标:源代码文件、工作目录中的文件、编译的二进制文件和 delve。 如果您未在 附加设置 中指定路径,IDE 将创建随机目录来存储上述文件。 请参阅以下截图,其中显示了为源文件和可执行文件随机生成的目录。
您可以指定以下选项:
项目源目录 :目标上用于上传源代码文件的目录。
经过编译的可执行文件目录 :目标上用于存储代码生成的可执行文件的目录。
