远程运行目标(Gradle、Rust)
对于某些 run/debug configurations ,您可以直接从 CLion 在另一个环境中运行您的代码,比如云或 Docker 容器。
此功能使您能够立即针对应用程序的目标真实环境测试更改。 这确保了在迁移到生产环境时不会出现不兼容问题,这对于依赖环境的代码尤为重要。 此功能还免去了通常在每次更改时需要部署和运行应用程序的额外操作。
先决条件
用于运行应用程序的环境称为 目标。 要使 CLion 在目标上运行代码,目标必须定义一个 语言运行时 ,这是目标上可以被运行/调试配置用来运行代码的部分。
为了在目标设备上运行您的代码,您只需要在通常用于本地运行的 run/debug configuration中定义目标执行环境。 在您完成这一步之后,在目标设备上启动该应用程序与在本地启动它没有区别。
支持的运行/调试配置类型
以下 run/debug configurations 可以在远程目标上运行:
创建运行/调试配置
转到 。 或者,按 Alt+Shift+F10 ,然后 0。
请选择一种 支持的运行/调试配置类型。
如果您已经定义目标,请从 运行于 菜单中选择。 否则,点击 管理目标… 以添加新的目标。 如需了解有关配置特定目标类型的更多信息,请参考以下程序:
您还可以在运行/调试配置模板中配置运行目标,这样下次创建该类型的新配置时,其参数就已经有了所需的值。 如需了解更多信息,请参阅 配置模板的默认值。
运行
在远程目标上运行应用程序的过程与在本地运行它的过程相同:
在主工具栏上选择运行/调试配置。
点击
或按 Shift+F10。
CLion 构建工件,然后将它们复制到目标。 之后,它会使用指定的 运行时在目标上运行应用程序。
目标类型
一个 target描述了应用程序运行环境的配置。
当您创建远程目标时,CLion 会自动检测远程环境中可用的运行时。 如果需要,您可以手动配置其他运行时。
SSH
选择是否使用现有的 SSH 配置或创建新的配置:
从 SSH 列表中选择一个现有的 SSH 配置,然后点击 下一个。 有关配置 SSH 的更多信息,请参阅 创建 SSH 配置。
请输入 SSH 服务器的 IP、监听 SSH 连接的端口,以及您将代表其在服务器机器上运行应用程序的用户名称。 点击 下一个。
请等待连接建立。 如果存在具有凭证的代理,则无需额外配置。 否则,请选择验证方法并提供所需的值:
密码(P) :输入密码。
密钥对(OpenSSH 或 PuTTY) :要应用此身份验证方法,您必须在客户端计算机上拥有私钥,并在远程服务器上拥有公钥。 CLion 支持通过 OpenSSH 实用程序生成的私钥。
指定存储您的 private key的文件路径,并在相应的字段中输入密码短语(如果有)。 要让 CLion 记住密码短语,请选中 保存密码短语(E) 复选框。
点击 下一个。
等待 SSH 服务器自检完成。 在此步骤中,CLion 尝试识别环境中可用的语言运行时。 点击 下一个。

配置以下属性:
使用rsync :切换此选项以使用 rsync进行文件传输。 建议这样做,因为它通常会加快文件复制的速度。
目标的项目路径 :服务器上用于存储项目文件的路径。
添加语言运行时。 请为每个 运行时指定其版本和服务器上的路径。 配置的设置随后会出现在 构建并运行 部分,当您选择此环境作为目标时的运行/调试配置中。
以下运行时可用:
Java :服务器上适用于运行您的应用程序的 JDK。 选择此运行时类型时,应用程序将在本地构建,然后复制到目标位置。
Maven :Maven 已安装在服务器上。 选择此运行时类型时,源代码和库会被复制到服务器,然后在服务器上构建和运行。

Docker
选择或配置 Docker 服务器 ,如 启用 Docker 支持。 中所述。
对于 Windows 和 macOS —— 请确保 Docker 可以访问工作流中使用的所有文件夹,比如项目文件夹、 .maven 等。 如需更多信息,请参阅 官方 Docker 文档。
选择您是要在本地构建镜像还是从 Docker 注册表拉取。
Dockerfile :用于构建映像的 Dockerfile。
上下文文件夹 :在构建过程中,可供 Docker 守护程序访问其内容的文件夹,稍后将在镜像文件系统中使用。
每次运行代码之前自动重新构建镜像 :当此选项设置后,每次运行代码时,图像都会重建。 否则,CLion 将使用已有的镜像(如果有的话)。
此外,您可以指定以下内容:
镜像标记 :指定构建镜像的名称和标签。 类似于使用
-t选项与docker build。构建选项 :指定
docker build命令的任意选项。构建实参: 重写默认的构建时变量。 与使用
--build-arg选项docker build类似。运行选项 :指定
docker run命令的任意选项。
镜像标记 :指定从镜像仓库拉取镜像的完整坐标。 默认情况下,如果仅指定 repository,则将使用
:latest标签。运行选项 :指定
docker run命令的任意选项。
等待容器自检完成。 在此步骤中,CLion 尝试识别环境中可用的语言运行时。 点击 下一个。
如果需要,配置语言运行时。 您可能在以下情况下需要它:
您有一个复杂的映像(例如与几个 JDK 一起)。 主运行时将被自动识别。 然而,任何附加的运行时都需要手动配置。
内省失败。 在大多数情况下,CLion 将根据第 1 步的上下文正确识别主要的运行时。 如果这种情况未发生,请手动修改主运行时。
对于每个运行时,请指定其版本和路径。 配置的运行时会出现在 构建并运行 部分,当您选择此环境作为目标时出现在运行/调试配置中。
以下运行时可用:
Java :适合运行您的应用程序的 JDK。 选择此运行时类型时,应用程序将在本地构建,然后复制到目标位置。
Maven :容器中的 Maven。 当此 运行时类型被选中时,源代码和库将被复制到容器中,然后在其中构建并运行。
Docker Compose
您可以将单个 Docker Compose 服务用作运行目标。
选择或配置 Docker 服务器 ,如 启用 Docker 支持。 中所述。
对于 Windows 和 macOS —— 请确保 Docker 可以访问工作流中使用的所有文件夹,比如项目文件夹、 .maven 等。 如需更多信息,请参阅 官方 Docker 文档。
指定 Docker Compose 配置文件,选择所需的服务,并提供任何附加的环境变量。 点击 下一个。
请等待 Docker Compose 服务内省完成。 在此步骤中,CLion 尝试识别环境中可用的语言运行时。 点击 下一个。
如有必要,请配置语言运行时。 这在以下情况下可能是必要的:
如果 您 的服务具有多个运行时,CLion 将自动识别主要运行时。 然而,任何附加的运行时都需要手动配置。
如果自省失败,请手动修改主运行时。
对于每个运行时,请指定其版本和路径。 配置的运行时会出现在 构建并运行 部分,当您选择此环境作为目标时出现在运行/调试配置中。
以下运行时可用:
Java :如果容器中有可用的 Java 运行时,应用程序将在本地构建,然后复制到目标位置。
Maven 和 Gradle :如果容器中有 Maven 或 Gradle,源码和库将会被复制到容器中,并在其中构建和运行。