CLion教程-使用轻量级客户端开始远程开发
您可以使用SSH连接来连接到远程服务器,以便进行项目的开发、运行和部署。
您还可以连接到在JetBrains Space、Gitpod、Google Cloud、GitHub Codespaces上运行的开发环境。
目前,您无法从CLion启动远程开发会话,但可以通过JetBrains Gateway来进行远程开发。
在开始开发之前,请确保满足系统要求。
先决条件
在开始在远程计算机上开发之前,请确保您具备以下条件:
远程计算机(IDE的目标计算机)满足可以在IDE文章中找到的最低建议要求。
由于JetBrains客户端是一个轻量级的应用程序,因此磁盘空间和计算资源的要求低于主机的要求。
您在Linux平台上安装了兼容的SSH服务器。
服务器部分是自包含的,因此不需要安装任何特殊的依赖项。它也将在任何基于`glibc`的Docker镜像上运行(即不支持Alpine)。
- Linux平台具有任何最新的Linux AMD64发行版,如Ubuntu 16.04+、RHEL/Centos 7+等。我们建议使用至少2核、4GB内存和5GB磁盘空间的计算机。
- 您需要在远程主机上启用sftp子系统。在当前的实现中,我们将其用于后端部署。
JetBrains Gateway
JetBrains Gateway是一个轻量级的启动器,它将远程服务器与您的本地计算机连接起来,在后端下载必要的组件,并在JetBrains客户端中打开您的项目。
请参考快速视频,了解如何开始使用JetBrains Gateway。
您可以使用以下方式之一启动独立的JetBrains Gateway:
- 使用CLion并启用其中的Remote Development Gateway插件。在这种情况下,当您打开CLion欢迎屏幕时,远程开发选项将立即可用,您可以使用SSH连接到远程服务器。
启动JetBrains Gateway并连接到远程服务器
- 下载并安装JetBrains Gateway应用程序。
或者,您可以通过IDE的欢迎屏幕访问JetBrains Gateway,然后选择远程开发选项。 - 在远程开发向导中,单击SSH连接提供程序下的新建连接。
您还可以单击连接到链接并输入您先前生成的链接来连接到Code With Me会话或远程服务器。 在向导的下一个页面上,通过SSH配置指定您要连接到远程服务器的配置。
- 或者,单击以打开SSH配置对话框并配置SSH设置。
- 在SSH配置对话框中,添加以下信息:
- 主机:指定远程服务器的地址。
- 端口:指定SSH端口,默认为
22
。 - 本地端口:指定出站端口。
例如,TCP 10.101.0.1:50705->13.49.137.87:22 (ESTABLISHED)
。 - 用户名:指定连接到远程服务器的用户名。
认证类型:选择以下认证方法之一:
- 密码:使用密码访问主机。要在CLion中保存密码,请选择“保存密码”复选框。
- 密钥对(OpenSSH或PuTTY):使用SSH认证与密钥对。要应用此认证方法,您必须在客户端计算机上拥有私钥,并在远程服务器上拥有公钥。CLion支持使用OpenSSH工具生成的私钥。
指定存储您的私钥的文件的路径,并在相应字段中输入密钥短语(如果有的话)。要让CLion记住密钥短语,请选择“保存密钥短语”复选框。
- 解析配置文件~/.ssh/config:如果您希望JetBrains Gateway使用
.ssh/config
文件,请选择此选项。
- 测试连接:单击此按钮以查看连接是否建立。
- 连接参数:使用此部分配置连接的其他参数。
- HTTP/SOCKS代理:使用此部分配置代理设置。
- 单击“确定”以保存更改并返回到“欢迎使用JetBrains Gateway”对话框。
- 单击“检查连接并继续”以检查连接是否已建立。
在下一个页面上,指定要下载到远程服务器的CLion版本。JetBrains Gateway显示可用于下载的IDE版本列表和已安装的版本。
- 您还可以使用“其他选项”来设置IDE安装程序的备用来源。
- 下载到您本地计算机的JetBrains Client版本始终与远程IDE版本相匹配。
- 默认情况下,下载的CLion位于远程服务器上的以下文件夹中:~/.cache/JetBrains/RemoteDev/dist。但是,您可以更改它,并将CLion安装到自定义位置,具体步骤如下:
- 单击“其他选项”并选择“自定义安装路径”选项。
- 在“安装路径”字段中添加所需的安装位置。
- 添加远程主机上项目的路径。
- 单击“上传IDE并连接”。
- JetBrains Gateway将下载IDE并在JetBrains Client中打开您的远程项目。连接显示在JetBrains Gateway窗口中,您可以从中连接到其他IDE或禁用连接。此窗口默认隐藏到系统托盘中。
- 在打开项目之前,您可以在后端之前覆盖
-Xmx
VM选项。
覆盖-Xmx VM选项
- 启动JetBrains Gateway。
- 按照向导的步骤操作。单击“检查连接并继续”。
- 在打开的页面上,在IDE版本字段下,单击“安装选项”。
- 从下拉列表中选择“自定义堆大小”。
在“最大堆大小”字段中根据需要覆盖默认堆大小。
- 请注意,此字段只能包含数字值,不能超过
INT_MAX
值。
如果要返回默认值,请再次单击“安装选项”,然后选择“使用默认堆大小”。
- 请注意,此字段只能包含数字值,不能超过
- 完成配置后,单击“下载IDE并连接”以启动项目。
打开最近的项目
- 在JetBrains Gateway向导中,在左侧的选项中选择SSH。
在搜索字段中输入您的项目名称,以快速导航到它。
- 如果需要快速访问终端,请单击。
更改后端版本
在JetBrains Gateway向导中,单击项目名称旁边的,然后在“使用以下版本打开”下选择要打开项目的后端版本。
- 如果无法找到所需版本,请单击“选择不同的IDE”,然后在IDE版本字段中选择所需的IDE版本。
- 如果无法找到所需版本,请单击“选择不同的IDE”,然后在IDE版本字段中选择所需的IDE版本。
停止运行的实例
- 在JetBrains Gateway向导中,在左侧的选项中选择SSH。
当远程会话处于活动状态时,项目旁边将显示“正在运行”的指示器。
- 单击项目旁边的,然后选择“停止IDE后端”以停止该项目的远程会话。
- 您还可以选择“从最近的项目中删除”以从页面中删除项目。
- 单击项目旁边的,然后选择“停止IDE后端”以停止该项目的远程会话。
卸载后端IDE版本
- 在JetBrains Gateway向导中,单击远程服务器名称旁边的,然后选择“管理IDE后端”以打开已安装的IDE版本列表。
- 在打开的窗口中,单击需要卸载的后端IDE版本旁边的,然后单击“是”以确认操作。
连接到手动启动的远程IDE中的远程项目(服务器到客户端流程)
如果您的远程服务器上已经安装了CLion,您可以手动启动它并连接到在该IDE中启动的远程项目。这与从JetBrains Gateway中进行的方式相同。
如果您的公司有自定义编排或者您的远程IDE在其端上自动启动,可以使用以下步骤来描述该过程:
- 在远程IDE中启动后端项目。
- 选择由后端生成的连接链接之一。
- 在本地计算机上打开该链接。
运行远程IDE的主要脚本是remote-dev-server.sh
,位于解压后的IDE的bin
子目录中。
如果是通过JetBrains Gateway以前安装的后端,请使用默认路径
/home/your_system_user/.cache/JetBrains/RemoteDev/dist/
。若要获取更多信息和可用参数,请运行
remote-dev-server.sh --help
命令。
请注意,连接绑定到特定项目。要连接到另一个远程项目,您需要配置一个新的连接。
连接到远程IDE
- 确保您已经在本地计算机上下载并安装了JetBrains Gateway,或者在本地计算机上安装了带有此捆绑插件的IDE。
- 确保您已在远程机器上建立了SSH连接,并且在远程机器上安装了CLion IDE。
在远程服务器的终端中,运行以下命令:
remote-dev-server.sh run /path_to_project/ --ssh-link-host host_server_address --ssh-link-user remote_side_user --ssh-link-port ssh_connection_port
检查以下示例:
~/ideaIU-213.3469/bin/remote-dev-server.sh run ~/spring-boot-example/ --ssh-link-host ec2-11-50-136-85.eu-north-1.compute.amazonaws.com --ssh-link-user ubuntu
- 如果不传递参数,脚本将使用默认值:端口22、系统用户的用户名和
hostname
命令的主机。
如果项目成功启动,您应该在终端中收到以下3个链接作为输出:
- 加入链接:tcp://127.0.0.1:5990...[ ]:包含远程IDE现在正在监听的本地地址和端口。
例如:
tcp://127.0.0.1:5991#jt=71e779a1-070e-4fd3-a4e6-83c1f8cb65a5&p=IU&fp=A42F6041C2878D7A22339ECABF4A9C294F643BG05E91E3DFC06035E03DB71BF8&cb=222.4167.29&jb=17.0.4b469.53
- 要使用它,请确保远程机器可以通过此本地地址访问。例如,对于具有转发/开放端口的Docker内部IDE。
有关
ssh -L
命令在命令行中的输出,请参阅更多信息。HTTP链接:https://code-with-me.jetbrains.com/remoteDev...[ ]:包含有关您的主机-端口-用户、IDE及其版本的信息。
例如:
https://code-with-me.jetbrains.com/remoteDev#idePath=%2Fhome%2Fubuntu%2F.cache%2FJetBrains%2FRemoteDev%2Fdist%2F3e4cd27bfbb95_ideaIU-2022.2.2&projectPath=%2Fhome%2Fubuntu%2Fdevelopment%2Fspring-petclinic&host=ec2-xx-xx-xxx-xx.eu-north-1.compute.amazonaws.com&port=22&user=ubuntu&type=ssh&deploy=false
- 在本地浏览器中打开时,它将显示欢迎页面,并尝试使用预填充的连接设置值调用本地Gateway应用程序。
- 如果在本地计算机上找不到JetBrains Gateway应用程序,您可以从欢迎页面下载它。
Gateway链接:jetbrains-gateway://connect#idePath...[ ]:也包含有关您的主机-端口-用户、IDE及其版本的信息。
例如:
jetbrains-gateway://connect#idePath=%2Fhome%2Fubuntu%2F.cache%2FJetBrains%2FRemoteDev%2Fdist%2F3e4cd27bfbb95_ideaIU-2022.2.2&projectPath=%2Fhome%2Fubuntu%2Fdevelopment%2Fspring-petclinic&host=ec2-xx-xx-xxx-xx.eu-north-1.compute.amazonaws.com&port=22&user=ubuntu&type=ssh&deploy=false
单击此链接将调用预装的Gateway应用程序并打开远程项目。如果您尚未安装JetBrains Gateway,请下载并安装。
- 通过单击其中一个链接,您可以连接到在远程IDE中启动的项目。连接成功后,您可以与其他用户一起协作。
- 当您完成与项目的协作时,可以关闭远程IDE。根据您的设置,连接可能会保持活动状态,以便稍后重新连接。
注意: 远程开发功能需要一定的网络带宽和低延迟连接,以获得最佳性能。如果您的网络连接质量不佳,可能会导致延迟和卡顿。
通过 JetBrains Space 连接
- 启动 JetBrains Gateway。
- 在起始页面上,选择 JetBrains Space 并点击 "连接到 Space"。
- 输入组织的 URL,然后点击 "在浏览器中继续"。
- 在打开的浏览器窗口中,点击 "接受" 以授予所需的权限。如果你尚未登录到 Space 网页应用程序,还需要输入 Space 用户名和密码。之后,你将被重定向回 JetBrains Gateway。
点击 "新建环境" 并配置一个新的开发环境(如果你的项目已经拥有所需的开发环境,则跳过此步骤):
- 选择存储库和要创建开发环境的分支。
- 在 Devfile 列表中选择一个 Devfile(如果在你的 Space 项目中存在)。
- 在 IDE 列表中选择要在开发环境中使用的 IDE。
- 在实例类型列表中,选择基于你需要的资源和计算学分的虚拟机类型。
- 在环境名称字段中输入一个环境名称,以区分它与其他环境。
- 点击 "创建环境" 完成环境的创建。
- 在开发环境列表中,选择要连接的环境。
这将启动与远程 IDE 的连接。一旦成功建立连接,JetBrains Gateway 将使用 JetBrains Client 打开你的 Space 项目,你可以在其中进一步工作。
你也可以使用 Space 网页版本 来初始化与远程服务器的连接。
连接到 Google Cloud
你可以使用 JetBrains Gateway 连接到 Google Cloud,以便在远程项目上工作。
在尝试连接到 Google Cloud 之前,请确保满足以下条件:
- 你(或管理员)已经设置了云工作站配置文件和集群
- 你已经 创建了一个工作站
- 你可以访问该工作站
云工作站插件允许你连接工作站并在 CLion 中使用它。
连接到 Google Cloud 工作站
- 启动 JetBrains Gateway。
- 从左侧的选项中选择 "所有提供商"。
在 "安装更多提供商" 部分,找到 Google Cloud 并点击 "安装"。
- 安装插件后,它将添加到 "以远程方式运行 IDE" 部分。
- 插件安装后,在左侧的选项中找到 "云工作站" 并点击 "连接到 Google Cloud"。
在打开的窗口中,选择要使用的工作站,然后点击 "下一步"。
如果需要切换到 Google Cloud 仪表板并管理云工作站,点击 "云控制台"。
在下一页中,选择你选择的代码提供程序的 IDE 版本以及你要使用的项目。
- 连接将建立,工作站与项目一起在 JetBrains Client 中打开,你可以在其中进一步在 IDE 中工作。
连接到 Gitpod
JetBrains Gateway 支持与 Gitpod 集成,这是一个用于自动化开发环境的开源编排和供应平台。
Gitpod 在 JetBrains Gateway 中作为插件可用,你可以使用它来连接现有的 Gitpod 工作区,或者创建一个新的工作区并在 CLion 中使用它。
连接到 Gitpod 上的工作区
- 启动 JetBrains Gateway。
- 从左侧的选项中选择 "远程开发"。
在 "安装更多提供商" 部分,找到 Gitpod 并点击 "安装插件"。
- 安装插件后,它将添加到 "远程开发" 节点以及 "安装更多提供商" 部分。
- 安装插件后,从右侧的选项中找到 Gitpod 并点击 "连接到 Gitpod"。
在打开的窗口中,选择要使用的 IDE。
如果需要切换到 Gitpod 仪表板、阅读 Gitpod 文档或退出 Gitpod,请点击 。
点击 "新建工作区"。
- JetBrains Gateway 将在浏览器中连接到你的 Gitpod 工作区。Gitpod 将准备工作区并显示有关在 JetBrains Client 中打开工作区的通知。
- 点击 "允许",然后在身份验证对话框中点击 "是"。
- 连接建立,工作区与项目一起在 JetBrains Client 中打开,你可以在其中进一步在 IDE 中工作。
- 创建的工作区将添加到 "最近的工作区" 部分。如果你有现有的工作区,它们将添加到最近工作区列表中,你可以随时点击 "连接" 来连接到它们。
- JetBrains Gateway 将在浏览器中连接到你的 Gitpod 工作区。Gitpod 将准备工作区并显示有关在 JetBrains Client 中打开工作区的通知。
连接到 GitHub Codespaces
你可以使用 JetBrains Gateway 连接到GitHub Codespaces以在远程项目上工作。
在尝试连接之前,请确保满足以下前提条件:
- 你已经 安装 并正确 配置 了
gh
,并在启动 JetBrains Gateway 之前运行了gh auth login
。 - 你有 GitHub CLI 的 2.2.0 版本或更高版本。
你可以使用以下命令检查版本:
$ gh --version
连接到 Codespaces 开发环境
- 启动 JetBrains Gateway。
- 在屏幕底部点击 ,然后选择 "管理提供商"。
在打开的页面上,在 "市场" 选项卡上,找到 GitHub Codespaces,安装并启用 插件。
- 插件将添加到 "连接" 列表中。
- 在左侧的选项中选择 "所有提供商"。
- 在右侧的选项中找到 "GitHub Codespaces" 并点击 "连接到 Codespaces"。
- 在下一页中,按照 GitHub Codespaces 的说明授权你的 GitHub 帐户。
授权完成后,将显示可用的 GitHub Codespaces 列表,你可以选择所需的项目。
如果需要添加新的 Codespace 或停止现有的 Codespace,请点击 "在 GitHub 上管理 Codespaces" 链接。
- 选择你要运行的 IDE 版本,然后点击 "连接"。
选择的 GitHub Codespaces 开发环境与所选项目一起在 JetBrains Client 中打开,你可以在其中进一步在 IDE 中工作。
连接到 Coder
你可以使用 JetBrains Gateway 连接到 Coder,以在远程项目上工作。
Coder 在 JetBrains Gateway 中作为插件可用,你可以使用它来连接现有环境,或者创建新环境并在 CLion 中使用它。
连接到 Coder 工作区
- 启动 JetBrains Gateway。
- 在屏幕底部点击 ,然后选择 "管理提供商"。
- 在打开的页面上,在 "市场" 选项卡上,找到 Coder,安装并启用 插件。
插件将添加到 "连接" 列表中。 - 在左侧的选项中选择 "所有提供商"。
- 确保在 Coder中配置了工作区,并复制访问 URL。
- 在 JetBrains Gateway 中,点击 "连接到 Coder"。
- 在向导的下一页中,在 URL 字段中粘贴 复制的 URL,然后点击 "连接"。
从浏览器中复制会话令牌,并粘贴到 JetBrains Gateway 中的 "会话令牌" 字段中。
- 点击 "确定"。
- 当所有身份验证完成后,你将看到已配置的工作区列表,选择你需要的工作区,然后点击 "选择 IDE 和项目"。
在向导的下一页中,选择所需的 IDE,并指定工作区中项目的路径。如果需要使用工作区终端,请点击 "使用终端"。
- 选择后,点击 "启动 IDE 并连接"。
- 打开了 Coder 开发环境,其中包含所选的项目,在 JetBrains Client 中进一步在 IDE 中工作。
连接到在 WSL2 上运行的项目
你可以配置你的 IDE 后端直接在 WSL2 中启动。
在开始连接到 WSL 之前,请确保满足以下先决条件:
- 你的计算机上安装了 Windows 10 或 11,并在 WSL2 中安装了 Ubuntu 20.04 版本。
- 你已经在 Windows 计算机上配置了 WSL2。
- 你有至少 200 GB 的可用空间、8 GB RAM 和 4 个 CPU。
- 你使用最新的 JetBrains Gateway EAP 版本。
- 你使用最新的后端 IDE EAP 版本。
连接到 WSL
- 启动 JetBrains Gateway。
- 在 "所有提供商" 列表中选择 WSL。
- 在右侧的选项上点击 "新建连接"。
- 在下一页中,选择 WSL 实例,然后点击 "下一步"。
在下一页中,选择 IDE 版本和要打开的项目。点击 "启动 IDE 并连接"。
- 连接将建立,后端 IDE 将被下载,并且项目将在 JetBrains Client 中打开。