公司通过打成 war 包放入客户服务器上的方式部署项目,但是后期维护很麻烦,每次更新 or 改些小东西都需要重新打包,然后扔到客户服务器上,然后用 Slf4j 将日志保存本地 txt 再去调试.
但是通过"在客户服务器上安装 IDEA,并通过向日葵连接,然后进行开发"的方式会导致项目源码存在于客户的计算机上,造成隐患,有什么业内通用的手段来解决"远程开发,且项目源码不在远程主机上"
1
6IbA2bj5ip3tK49j 2021-12-16 15:47:20 +08:00
你需要的是 CI/CD ,而不是什么“远程开发”。
|
2
Edward4074 2021-12-16 16:02:53 +08:00
idea remote debug ?
|
3
zoharSoul 2021-12-16 16:03:15 +08:00
你是不是想要这么个语言 : php
|
4
INTOX8O 2021-12-16 16:10:35 +08:00
读了几遍没读明白第二段话:在客户服务器上安装 IDEA,并通过向日葵连接,然后进行开发 ;
客户服务器是有 GUI 环境,然后远程桌面在客户电脑上敲代码? |
5
corningsun 2021-12-16 16:13:19 +08:00
可以解开 war 包部署,后面更新就直接替换 class 文件。
|
6
kujio 2021-12-16 16:17:28 +08:00
写个 shell 脚本,每隔一段时间自动检查 url 是否有版本更新,如果有就下载,然后替换,重新部署,部署日志提交到 url
|
8
treizeor 2021-12-16 17:10:36 +08:00
为啥要在服务器上开发呢
|
9
lyz1990 2021-12-16 17:12:44 +08:00
这到底是啥需求……
|
10
EarthChild 2021-12-16 17:13:58 +08:00
CI/CD 开发部署一条龙…
|
11
TomVista 2021-12-16 17:15:41 +08:00
就 docker,就很满足你的需求
|
12
INTOX8O 2021-12-16 17:20:46 +08:00
源码不能放客户服务器,那 git 拉代码在客户服务器编译也没办法
要向日葵远程连接才能登录估计 ansible 也不能用 6 楼的办法倒是可以 |
13
AS4694lAS4808 2021-12-16 17:30:24 +08:00
允许的话,在客户的服务器上(因为大概率是内网,只能出不能进)搭建一个 frpc 连接到你们公网服务器上,把远程服务器的 jvm 调试端口映射过来,然后本地附加到对应的端口调试。用完就把 frpc 关了防止安全风险。
Idea 的远程调试支持 ssh/docker ,ssh 在 win 上需要装 sshd ,不知道是否好用; docker 估计不好切换?毕竟是正式环境 |
14
Edsie 2021-12-16 18:02:51 +08:00
感觉有点滑稽,哈哈哈
不过要想安全,还是不要在客户服务器上用源码了,老老实实打包好上传上去吧,调试可以 remote dubug |
15
wolfie 2021-12-16 18:07:02 +08:00
VPN
|
16
11232as 2021-12-16 22:29:39 +08:00
IDEA 的 Code With Me 似乎满足一部分需求,而且这个是可以自架服务得。
|
17
godleon 2021-12-17 09:31:07 +08:00
这不是我商丘老乡嘛!
jenkins 满足不了吗 |
18
learningman 2021-12-17 09:46:02 +08:00 via Android
java 的话,不是有一些用反射和 JNI 的 hotfix 方案吗
|
21
Bronya 2021-12-17 17:05:53 +08:00
可以只更新 class 文件,我现在的公司就是,每次改完什么东西就把.class 发给同事😅
|