运行目标
对于某些 运行/调试配置 ,您可以直接从 GoLand 在其他环境(例如云或 Docker 容器)中运行代码。
此功能可让您立即在应用实际运行的环境中测试更改。 这样可以确保在部署到生产环境时不会出现不兼容问题,这对依赖环境的代码尤为重要。 此外,使用此功能,您无需每次更改后执行部署和运行操作,从而节省额外步骤。
先决条件
用于运行应用的环境称为 目标。 为了让 GoLand 可以在目标上运行代码,该目标必须定义一个 语言运行时 ,即运行/调试配置可用于运行代码的一种运行能力。
要在目标上运行代码,您只需在通常用于本地运行的 运行/调试配置中定义目标执行环境。 完成上述操作后,在目标上启动应用与本地启动无异。
您可以在同一个目标上运行多个配置。 可以为整个项目设置一个默认的运行目标。
为项目设置默认目标
单击 。
在 项目默认目标 列表中,选择要用于项目的目标。

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

您还可以在运行/调试配置模板中配置运行目标,这样下次创建同类型的新配置时,相应参数将自动设为所需值。 有关更多信息,请参阅 配置模板的默认值。
运行
在远程目标上运行应用的操作流程与在本地运行一样:
在主工具栏中选择运行/调试配置。
单击
或按下 Shift+F10。
GoLand 会构建构件并将其复制到目标。 随后,它会使用指定配置在目标上运行应用。
目标类型
目标描述了应用将要运行的环境配置。
您可以创建以下目标:
创建远程目标后,GoLand 会自动检测远程环境中的可用配置。 如有需要,您可以手动配置其他设置。
WSL
在主菜单中,单击 。
在 添加目标至 窗口中,选择 WSL。

在 新目标 向导中,从 Linux 发行版(D) 列表中选择您的 Linux 发行版。 如果系统已自动检测到发行版,并且已通过自检,请单击 下一个。
检查是否正确检测到 WSL 的 Go 运行时配置,然后单击 完成。
或者,您可以手动输入设置。
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 将创建随机目录以存储前述文件。 请参阅下方截图,了解为源文件和可执行文件随机生成的目录。
您可以指定以下选项:
项目源目录 :目标上上传源代码文件的目录。
经过编译的可执行文件目录 :目标上用于存储代码生成的可执行文件的目录。

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

运行您的应用程序。

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 registry 拉取镜像。
Dockerfile :用于构建镜像的 Dockerfile。
上下文文件夹 :一个文件夹,在构建过程中其内容将由 Docker 守护进程访问,并用于镜像文件系统中。
每次运行代码之前自动重新构建镜像 :启用此选项后,每次运行代码时都会重新构建镜像。 否则,GoLand 将使用已存在的镜像(如果有)。
此外,您还可以指定以下内容:
镜像标记 :指定构建后镜像的名称和标签。 类似于将
-t选项与docker build一起使用。构建选项 :为
docker build命令指定自定义选项。构建实参: 覆盖默认的构建时变量。 类似于将
--build-arg选项与docker build一起使用。运行选项 :为
docker run命令指定自定义选项。

镜像标记 :指定要从注册表中拉取镜像的完整坐标。 如果仅指定了仓库名,则将使用默认的
:latest标签。运行选项 :为
docker run命令指定自定义选项。

等待容器分析完成。 在此步骤中,GoLand 会尝试识别环境中提供的语言配置。 单击 下一步。
配置 Go 设置。
当前可用的配置设置如下:
目标的项目路径 :服务器上用于存储项目文件的路径。
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 Compose
您可以使用单个 Docker Compose 服务作为运行目标。
如 启用 Docker 支持中所述,选择或配置一个 Docker 服务器。
对于 Windows 和 macOS,请确保 Docker 可以访问工作流程中使用的所有文件夹,例如项目文件夹。 有关更多信息,请参阅 官方 Docker 文档。
指定 Docker Compose 配置文件,选择所需服务,并提供任何其他环境变量。 单击 下一个。

等待 Docker Compose 服务的自省完成。 在此步骤中,GoLand 会尝试识别环境中可用的语言配置。 单击 下一个。
配置 Go 设置。
可用的配置设置如下:
目标的项目路径 :用于存储项目文件的服务器路径。
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 将创建随机目录来存储上述文件。 请参阅以下随机生成的源文件和可执行文件目录的屏幕截图。
您可以指定以下选项:
项目源目录 :目标上的一个目录,用于上传源代码文件。
经过编译的可执行文件目录 :目标上的一个目录,用于存储代码生成的可执行文件。
