Idea Intellij 远程开发调试

一、背景

在构建MiniOB开发环境时需要Linux环境,另外结合分布式系统,利用较好的通信,萌发了远程开发的想法;实际上远程部署、开发在很久之前有过想法(大约刚开始学SpringBoot进行部署软件时,反复地本地开发在上传远程部署)。欲善其事,必先利其器,Jetbrains系列IDE是极具优秀体验的工具,也是我十分青睐的,自21年1月安装了20版之后,由于考研等因素,一直没有更新,今天对Idea、Clion进行了升级,并体验了其远程开发(Beta)的新特性。

优点:

  • 利用远程服务器的开发环境(例如高CPU、内存)、资源(适合本地性能较差的试用)
  • 便于开发、部署
  • 避免环境不一致问题、便于协作

缺点:

  • 增大开销(在我刚开始尝试时,阿里云服务器瞬间SSH访问不了,经排查CPU、内存资源瞬间飙升)
  • 协作冲突等(由于将项目放在远程服务器,若共同去开发,应该会涉及冲突问题?,借鉴git管理版本,还没进行多人协同远程开发,暂且个人猜测)

二、简单尝鲜

准备工作

  • 远程服务器\Docker\WSL等(并配置IP,保证连通性)
  • 本地21年版本后的开发工具Idea Intelij(本人采用的22.2.3版本)

具体步骤

  1. 远程创建项目文件(test-project)
    在这里插入图片描述
  2. IDE打开远程开发,并进行SSH连接配置(本人采用的密码认证,方便一点)
    在这里插入图片描述
  3. 安装远程开发的相关服务插件(具有服务端和客户端,会在远程也进行相关的下载安装),并打开远程的工程目录
    在这里插入图片描述
  4. 进行开发,然后就可以打开文件,像在本地开发一样进行开发了,本地相对于一个client,远程一个server相互进行通信(基于ssh),本地进行修改,则可传到远程,类似观察者模式的设计。
    在这里插入图片描述

三、基本原理

在进行简单尝试过程中,通过Idea提示的系列信息,我们可以知道该方式实现应该采用的是 C\S模型,远程服务器是按照Jetbrains的Server端,本地则是Client端,并通过SSH的通信方式保持双方的同步。为了较为清晰地理解,特定去官网大致看了看。
这是远程开发的官方介绍

在这里插入图片描述
Gateway 将安装远程 IDE 后端和本地瘦客户端,并通过 SSH 将其连接。 首先,它会建立 SSH 连接。 指定主机和用户名并提供密钥或密码后,Gateway 将连接到远程服务器。 它会检查是否已经安装了 IDE 后端,如果没有,则会从 jetbrains.com 下载一个新的版本。

启动 IDE 后端前,Gateway 需要知道项目目录。 您可以浏览远程文件系统并选择一个目录,如果项目尚不可用,您可以使用内置终端从版本控制系统中克隆项目。

选择 IDE 版本和项目目录后,Gateway 会将 IDE 下载到远程服务器、解压缩并启动,同时加载项目。 然后它会在本地下载、缓存和启动匹配版本的 JetBrains Client。

四、反思总结

除了关注技术之外,也可去看看工具的发展,提升开发效率,从工具链的角度思考最新技术,例如jetbrains也推出了 DevOps的开发工具,也可进行一些常识,思维不要固守。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值