• 请不要在回答技术问题时复制粘贴 AI 生成的内容
geeti
V2EX  ›  程序员

大家怎么同步云工作站和笔记本的代码

  •  1
     
  •   geeti · Sep 3, 2018 · 5204 views
    This topic created in 2987 days ago, the information mentioned may be changed or developed.

    公司发的笔记本比较弱鸡,15 年的 mbp,但每人配 48 核云主机用来开发和调试。

    现在的问题是想找到一个最好用的双路自动同步的解决方案,本地的 ide 代码写完,直接在远程运行。或者远程 ssh 改点东西,自动同步导笔记本。

    sshfs/smb 这些不能在本地保存,就不考虑了。

    用过 unison,fsmonitor 在 mac 上支持不好,太耗 cpu

    现在用 syncthing,大部分时间还行,但有时候居然会漏掉几个文件

    还有什么好用的解决方案吗?

    45 replies  •  2020-04-12 15:02:42 +08:00
    schemesAlot
    schemesAlot
    Sep 3, 2018 via Android
    1
    在用 geeknote
    geeti
    geeti
    OP
    Sep 3, 2018
    2
    @leafiy 这东西不能用吧?要是把代码传到第三方服务器这是要丢工作的啊
    schemesAlot
    schemesAlot
    Sep 3, 2018
    3
    @geeti 理解错了,你要同步代码阿,之前用过 rsync 还可以,完全没遇到过漏掉文件
    opengps
    opengps
    Sep 3, 2018 via Android
    4
    48 核主机,直接远程开发就够用了吧
    geeti
    geeti
    OP
    Sep 3, 2018
    5
    @opengps 远程开发写代码咋写?直接用 vim 写 java 没那本事 😂
    X11 远程 ide 界面实在太丑
    公司开发的 cloud9 远程 ide 又不支持 java
    geeti
    geeti
    OP
    Sep 3, 2018
    6
    @leafiy rsync 是最老牌的,但问题是 rsync 貌似不能检测文件系统触发自动同步
    jmc891205
    jmc891205
    Sep 3, 2018
    7
    代码存在本地 编译和运行的时候丢到服务器上去
    不知道有没有开源的实现 我们公司是用的自己开发的工具
    jorneyr
    jorneyr
    Sep 3, 2018
    8
    在服务器上弄个 Git 私服
    kirigaya
    kirigaya
    Sep 3, 2018
    9
    https://github.com/axkibe/lsyncd 可以试试这个。
    lishunli
    lishunli
    Sep 3, 2018 via Android
    10
    要不要整一套 CI
    zclHIT
    zclHIT
    Sep 3, 2018 via iPhone
    11
    代码本地测功能..然后打好包发布到服务器上再测一遍..小修改直接本地编译替换服务器 class 重启 tomcat..大改动重新打个包..至于效率嘛……╮( ̄▽ ̄"")╭
    lovepocky
    lovepocky
    Sep 3, 2018 via iPhone
    12
    syncthing 用一年多了,挺稳定
    huangzhe8263
    huangzhe8263
    Sep 3, 2018 via Android
    13
    如果是常见语言的话
    用 jetbrains 家 ide 如 pycharm 走远程部署即可
    Nick2VIPUser
    Nick2VIPUser
    Sep 3, 2018 via iPhone
    14
    在公司找台服务器部署 gitlab
    inhzus
    inhzus
    Sep 3, 2018 via Android
    15
    vs jetbrains 都支持通过 sftp,ftp 等协议远程部署
    huclengyue
    huclengyue
    Sep 3, 2018
    16
    @geeti docker 然后运行 LINUX 下的 IDE?
    cncqw
    cncqw
    Sep 3, 2018
    17
    git 就可以了,然后用 hook 自动同步
    HangoX
    HangoX
    Sep 3, 2018
    18
    不是可以用 eclipse che ?web ide
    merin96
    merin96
    Sep 3, 2018 via iPhone
    19
    搬瓦工搭的 git 服务器
    batter
    batter
    Sep 3, 2018
    20
    在那个服务器上搭建个 git 服务器,防火墙设置一下,应该问题不大吧
    Z1076
    Z1076
    Sep 3, 2018 via iPhone
    21
    跟我的环境差不多,我是本地写完代码,然后执行一个 alias 的脚本。脚本包括 rsync 以及发送远程编译以及重新加载命令。
    ifane
    ifane
    Sep 3, 2018
    22
    jetbrains 家的 IDE 都支持远程开发吧.
    pycharm 为例, 创建项目选择 SSH Interpreter 以及 remote project location.
    当你保存操作时,会自动 upload, 切换 git 分支则需要手动在 tools 里选择 Deployment->upload.
    geeti
    geeti
    OP
    Sep 3, 2018
    23
    @merin96 把公司代码发到私服,不要工作了么
    geeti
    geeti
    OP
    Sep 3, 2018
    24
    @huclengyue 没懂,啥意思?
    sampeng
    sampeng
    Sep 3, 2018
    25
    ide 的远程开发是正解。git 之类的太不靠谱。
    但网络抖动是不能避免的。

    其实一般开发。本地编译测试已经绰绰有余了。。无法理解弄个 48 核的远程服务器是个什么逻辑。。还每人一台?

    简单的 php。java 后台应用。。跑个逻辑还跑不动?

    最后开发完了,上服务器做压力测试倒是可以来一波
    kslr
    kslr
    Sep 3, 2018 via Android
    26
    Jetbrains 都支持远程环境运行
    但我觉得这样意义不大,抠门的公司
    geeti
    geeti
    OP
    Sep 3, 2018
    27
    @sampeng 云主机是自家的,反正也用不完,就直接给员工拿着用了。
    ide 远程开发是指本地文件,远程编译?
    geeti
    geeti
    OP
    Sep 3, 2018
    28
    @kslr 是 ultimate 版才有吧?
    OrangeM21
    OrangeM21
    Sep 3, 2018
    29
    家里的 NAS 搭了个 gitlab
    billchenchina
    billchenchina
    Sep 3, 2018 via Android
    30
    rslsync (前身 BTSync )
    设置预定义主机即可
    xuhaoyangx
    xuhaoyangx
    Sep 3, 2018
    31
    300 块 3 年的 vps,搭了个 gogit。gitlab 太重。
    loveCoding
    loveCoding
    Sep 3, 2018
    32
    土豪公司么?48 核 哈哈哈,不如提个建议让公司备台显示器
    VisionTheta
    VisionTheta
    Sep 3, 2018
    33
    我的需求是同步本地文件到服务器上,最开始想到的当然是 rsync 但是没有触发功能,文件修改了,也不能自动同步

    所以后来我发现了 lsyncd, 这套工具非常好用,文件同步很好用,我用它来同步 GPU 服务器训练好的模型到本地来做评测,再把 tensorflow 的 events 文件同步给服务器,供 tensorboard 使用。
    还有一个用途,我用来同步我的数据,用了半年多了,lsyncd 一次也没有重启过。

    至于楼主说的这个需求,我觉得 lsycnd 的 readme 里面介绍的 mirror 这个项目不错,虽然我并没有亲测过(我们工位机用来开发够了),但是看起来很不错,我觉得楼主可以测试一下,给大家也反馈一下。

    项目地址在这里: https://github.com/stephenh/mirror

    当然,我的经验是,工具再好用,可能也需要自己再稍微调调,动手能力要强。
    geeti
    geeti
    OP
    Sep 3, 2018
    34
    @loveCoding 显示器是 LG 的 5K,但是跟这没有关系啊。。。
    geeti
    geeti
    OP
    Sep 3, 2018
    35
    @VisionTheta 谢谢,这个有意思,我来学习学习。
    geeti
    geeti
    OP
    Sep 3, 2018
    36
    这个不是免费吧?
    geeti
    geeti
    OP
    Sep 3, 2018
    37
    @xuhaoyangx 把公司代码传到任何外部服务器都是属于作死丢工作的行为
    xuhaoyangx
    xuhaoyangx
    Sep 3, 2018
    38
    @geeti #37 300 块公司付的
    geeti
    geeti
    OP
    Sep 3, 2018
    39
    @xuhaoyangx 你们不怕泄露吗
    geeti
    geeti
    OP
    Sep 3, 2018
    40
    @billchenchina 这个不免费吧
    lfzyx
    lfzyx
    Sep 3, 2018
    41
    用 Gocd 或者 Jenkins
    Earl
    Earl
    Sep 3, 2018
    42
    云主机能部署 samba 服务器不?我们都是直接用 samba 把云主机映射到 windows 网络磁盘,然后在 windows 下写代码。
    merin96
    merin96
    Sep 3, 2018
    43
    @geeti 我专门问过,无所谓的(小公司
    不过既然代码都是在云主机上跑, 本地只负责编辑, 本地留一份干嘛...
    geeti
    geeti
    OP
    Sep 4, 2018
    44
    @merin96 干活时有时候不在公司或者没连 vpn。
    另外每个包都比较大的话,若果是 smb 每次连接都要传一阵子才能本地打开
    woyaojizhu8
    woyaojizhu8
    Apr 12, 2020
    45
    请问 syncthing 你设置了文件系统改动监视了吗?
    漏掉文件的时候,重新扫描,能够成功完整同步吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2053 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 02:24 · PVG 10:24 · LAX 18:24 · JFK 21:24
    ♥ Do have faith in what you're doing.