V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mrzhs
V2EX  ›  程序员

IDEA 如何实现"不可视"源码的远程开发?

  •  
  •   Mrzhs · 2021-12-16 15:44:35 +08:00 · 3020 次点击
    这是一个创建于 1081 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司通过打成 war 包放入客户服务器上的方式部署项目,但是后期维护很麻烦,每次更新 or 改些小东西都需要重新打包,然后扔到客户服务器上,然后用 Slf4j 将日志保存本地 txt 再去调试.
    但是通过"在客户服务器上安装 IDEA,并通过向日葵连接,然后进行开发"的方式会导致项目源码存在于客户的计算机上,造成隐患,有什么业内通用的手段来解决"远程开发,且项目源码不在远程主机上"

    21 条回复    2021-12-17 17:05:53 +08:00
    6IbA2bj5ip3tK49j
        1
    6IbA2bj5ip3tK49j  
       2021-12-16 15:47:20 +08:00
    你需要的是 CI/CD ,而不是什么“远程开发”。
    Edward4074
        2
    Edward4074  
       2021-12-16 16:02:53 +08:00
    idea remote debug ?
    zoharSoul
        3
    zoharSoul  
       2021-12-16 16:03:15 +08:00
    你是不是想要这么个语言 : php
    INTOX8O
        4
    INTOX8O  
       2021-12-16 16:10:35 +08:00
    读了几遍没读明白第二段话:在客户服务器上安装 IDEA,并通过向日葵连接,然后进行开发 ;
    客户服务器是有 GUI 环境,然后远程桌面在客户电脑上敲代码?
    corningsun
        5
    corningsun  
       2021-12-16 16:13:19 +08:00
    可以解开 war 包部署,后面更新就直接替换 class 文件。
    kujio
        6
    kujio  
       2021-12-16 16:17:28 +08:00
    写个 shell 脚本,每隔一段时间自动检查 url 是否有版本更新,如果有就下载,然后替换,重新部署,部署日志提交到 url
    Mrzhs
        7
    Mrzhs  
    OP
       2021-12-16 16:36:54 +08:00
    @wsfmzq 是的,客服服务器用的是 windows server
    treizeor
        8
    treizeor  
       2021-12-16 17:10:36 +08:00
    为啥要在服务器上开发呢
    lyz1990
        9
    lyz1990  
       2021-12-16 17:12:44 +08:00
    这到底是啥需求……
    EarthChild
        10
    EarthChild  
       2021-12-16 17:13:58 +08:00
    CI/CD 开发部署一条龙…
    TomVista
        11
    TomVista  
       2021-12-16 17:15:41 +08:00
    就 docker,就很满足你的需求
    INTOX8O
        12
    INTOX8O  
       2021-12-16 17:20:46 +08:00
    源码不能放客户服务器,那 git 拉代码在客户服务器编译也没办法

    要向日葵远程连接才能登录估计 ansible 也不能用

    6 楼的办法倒是可以
    AS4694lAS4808
        13
    AS4694lAS4808  
       2021-12-16 17:30:24 +08:00
    允许的话,在客户的服务器上(因为大概率是内网,只能出不能进)搭建一个 frpc 连接到你们公网服务器上,把远程服务器的 jvm 调试端口映射过来,然后本地附加到对应的端口调试。用完就把 frpc 关了防止安全风险。
    Idea 的远程调试支持 ssh/docker ,ssh 在 win 上需要装 sshd ,不知道是否好用; docker 估计不好切换?毕竟是正式环境
    Edsie
        14
    Edsie  
       2021-12-16 18:02:51 +08:00
    感觉有点滑稽,哈哈哈
    不过要想安全,还是不要在客户服务器上用源码了,老老实实打包好上传上去吧,调试可以 remote dubug
    wolfie
        15
    wolfie  
       2021-12-16 18:07:02 +08:00
    VPN
    11232as
        16
    11232as  
       2021-12-16 22:29:39 +08:00
    IDEA 的 Code With Me 似乎满足一部分需求,而且这个是可以自架服务得。
    godleon
        17
    godleon  
       2021-12-17 09:31:07 +08:00
    这不是我商丘老乡嘛!
    jenkins 满足不了吗
    learningman
        18
    learningman  
       2021-12-17 09:46:02 +08:00 via Android
    java 的话,不是有一些用反射和 JNI 的 hotfix 方案吗
    Mrzhs
        19
    Mrzhs  
    OP
       2021-12-17 11:07:55 +08:00
    @godleon 这也能碰到商丘嘞?
    godleon
        20
    godleon  
       2021-12-17 11:14:36 +08:00
    @Mrzhs 哈哈,看了你的 Github 才知道是老乡, 我是 yu cheng 的!
    Bronya
        21
    Bronya  
       2021-12-17 17:05:53 +08:00
    可以只更新 class 文件,我现在的公司就是,每次改完什么东西就把.class 发给同事😅
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2605 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:33 · PVG 18:33 · LAX 02:33 · JFK 05:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.