IntelliJ IDEA 远程开发(Remote Development)
简介
IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发操作即可,逻辑图如下,可见通过本地的IDE和服务器上的IDE backend将本地电脑和服务器打通,实现了远程开发的效果
价值
- 1 本地资源(CPU、Mem)不够时,可以用这种方式,低成本 ····· 感觉没啥用<<<
- 2 项目交付都是内网环境,我们访问一般是通过VPN、向日葵等工具访问,还有少数一些是部署在云服务,当生产项目遇到问题,咋办呢?大家第一反应就是日志、远程调试DEBUG等。这里有几个缺陷:
- 2.1 第一、如果发布在生产上的业务日志没打全咋办?一般是 补充log打印代码 -> 打包 -> 发布…
- 2.2 第二、远程DEBUG调试,因为是agent,这个有些必要条件,暴露端口,最重要的是影响生产环境访问。有些时候安全考虑,不会开放端口的~
那,这个时候Remote Development 就牛啤了,只要能SSH连接上,啥啥都解决了- - 这也是最有价值的能力了吧~
环境信息
- IDEA 版本 2022以上
- 本地操作系统啥都可以
- 服务器目前仅支持 Linux
槽点
对远程服务器要求比较高 最少也得4U8G吧,配置再低就卡卡的,体验极差- -
实践
- step1. 安装 IntelliJ IDEA ,版本 >= 2022.x.x (步骤跳过)
- step2. 准备一台linux服务器(一般就生产环境调测了)
- step3. 远程连接服务器,安装 JetBrainsGateway 、JetBrainsClients
- step4. 配置目录、Maven、Jdk …
- step5. 运行
- step6. 端口转发
- step7. 调测
step1. 安装 IntelliJ IDEA ,版本 >= 2022.x.x (步骤跳过)
step2. 准备一台linux服务器(一般就生产环境调测了)(步骤跳过,找运维或PM)
step3. 安装 JetBrainsGateway 、JetBrainsClients (本次只讲在线安装,离线安装后续补充)
-
打开本地IDEA
-
点击【New Connection】按钮
-
输入服务器张哈、地址、密码
-
选择IDE version
-
选择服务器工作目录,点击 Start 慢慢等待安装、下载
step4. 配置目录、Maven、Jdk …
-
完成 step3 后,你的 任务栏 就会出现一个 很“可爱” 的小图标
-
打开之后,会如下类似的如下页面,跟IDEA本地开发页面一模一样
-
配置Maven Jdk ,跟本地开发一样的操作
step5. 运行 && 端口转发
-
配置好后,直接点击运行按钮
-
服务启动成功
step6. 端口转发
重头戏来了,端口转发,启动好了我们怎么访问嘞?两种方式
- 因为服务是在远程服务器启动的直接访问远程服务器的 https://ip:port/api/…,前提是port要通…
- 我们可以搞一个端口转发的功能,比如说这个服务启动的是服务器端的120.xx.xx.145:8080 -> 映射到我们本地的8080端口上,Ide就给我们提供了个工具,增加如下配置
点击OK,然后启动项目后,服务端的8080端口就会映射到本机的8080端口,在本地访问8080端口就能访问到服务端的8080端口了
step7. 调测
- 通过本地8080端口访问服务器API
[envtype_IS_UNDEFINED][2023-08-04 15:48:47.931][spms-standard-service-workorder] ERROR [266126][nio-8080-exec-1][]-[][com.icss.cig.spms.start.auth.web.handler.AuthAdviceInterceptor ][67 ]message.common.information.nonexistence is [POST /api/v1/workorder/archives/query-by-type], token=[TGT-165-oHVcbyYwODj5KkvCPeWSIQUd6lONCZrJxr6LJ4wWen1wd8UR2H8NMFNDrl-cXKrx-uAspms-standard-support-iam-5bc6c59d5f-kmg79], authobject=[null]
评论区