V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coder1
V2EX  ›  问与答

与开发服务器代码同步

  •  
  •   coder1 · 2019-06-22 09:33:24 +08:00 · 3255 次点击
    这是一个创建于 2015 天前的主题,其中的信息可能已经有所发展或是发生改变。
    代码的运行环境在 Linux 上且只能运行在 Linux 上,本地机为 Mac。
    每人一台与公网隔离的云服务器,但不允许 ftp/xftp/smb,理由是不安全。
    同步代码用一个脚本通过 http 上传(硬 token),这么搞有意义么?安全在哪里?
    32 条回复    2019-06-23 06:37:14 +08:00
    lhx2008
        1
    lhx2008  
       2019-06-22 09:50:32 +08:00 via Android
    没意义,权限啥的都没了,黑客也可以调你的脚本。
    baojiweicn2
        2
    baojiweicn2  
       2019-06-22 10:04:13 +08:00 via Android
    不是有 git 吗?
    hhyvs111
        3
    hhyvs111  
       2019-06-22 10:06:52 +08:00
    sftp 不能用吗? ssh 的够安全了吧
    loading
        4
    loading  
       2019-06-22 10:07:26 +08:00   ❤️ 2
    与公网隔离的云服务器,不就是都隔离了吗?
    coder1
        5
    coder1  
    OP
       2019-06-22 10:14:50 +08:00
    @hhyvs111 有跳板机,用不了。低位端口全封
    coder1
        6
    coder1  
    OP
       2019-06-22 10:15:12 +08:00
    @baojiweicn2 那 debug 阶段提交记录会爆炸
    loading
        7
    loading  
       2019-06-22 10:16:16 +08:00
    @coder1 分支。
    coder1
        8
    coder1  
    OP
       2019-06-22 10:16:34 +08:00
    @loading 内网规模比较大
    coder1
        9
    coder1  
    OP
       2019-06-22 10:17:11 +08:00
    @loading 那同步代码也很痛苦啊,本来无感的
    loading
        10
    loading  
       2019-06-22 10:24:18 +08:00
    @coder1 debug 还直接提交到服务器?本地不测试?用法有问题。
    hhyvs111
        11
    hhyvs111  
       2019-06-22 10:24:50 +08:00
    开发机还有跳板机啊,我们测试环境和正式环境才有。
    msg7086
        12
    msg7086  
       2019-06-22 10:27:58 +08:00
    @loading 有些诡异的程序是没法本机测试的。就是不知道楼主在开发的到底是什么。
    coder1
        13
    coder1  
    OP
       2019-06-22 10:29:34 +08:00
    @loading 本机 mac,框架不支持 mac。服务器是每人一台的开发机
    coder1
        14
    coder1  
    OP
       2019-06-22 10:30:07 +08:00
    @msg7086 框架和一些依赖只支持 Linux 而已
    loading
        15
    loading  
       2019-06-22 10:36:34 +08:00
    既然是每人一台,不用本地虚拟机的话,用 rsync 随便同步一下目录,ssh 过去随便整整就行了。
    caryqy
        16
    caryqy  
       2019-06-22 10:36:52 +08:00
    mac 上装 docker,先自己 docker 里测试
    loading
        17
    loading  
       2019-06-22 10:37:29 +08:00
    整太复杂了,你们可能 hold 不住,把精力放到开发上吧。
    leishi1313
        18
    leishi1313  
       2019-06-22 10:44:17 +08:00 via Android
    跳板机上建个 git ?内网机器都只能从这台机子 pull 代码?
    coder1
        19
    coder1  
    OP
       2019-06-22 10:50:40 +08:00
    @leishi1313 开发机有直接访问 git 的权限
    coder1
        20
    coder1  
    OP
       2019-06-22 10:52:26 +08:00
    @loading rsync 能过跳板机么,跳板机上只支持 ssh 命令
    loading
        21
    loading  
       2019-06-22 10:56:24 +08:00
    @coder1

    aHR0cHM6Ly9teS5vc2NoaW5hLm5ldC9zdWthaS9ibG9nLzY5NDA3NA==
    loading
        22
    loading  
       2019-06-22 10:57:15 +08:00
    楼上 sftp 也可以考虑啊。
    raynor2011
        23
    raynor2011  
       2019-06-22 11:01:55 +08:00
    把开发机布到内网不就行了吗
    nisnaker
        24
    nisnaker  
       2019-06-22 12:00:17 +08:00
    如果 ide 支持的话,把你的 http 同步脚本绑定到你的 command+s 快捷键上;如果不支持,自己写个 Inotify 监控调脚本同步。基本能做到你说的无感同步。
    我现在就是这么干的,最开始也不习惯本地没有开发环境,后来逐渐发现这样做的好处:
    1、生产环境所有软件的配置和版本等改动,运维都能一键同步到我们所有人的开发环境上,确保开发环境和生产环境的一致,而且完全不用开发人员参与
    2、自己的 mac 不用跑一堆相关应用,cpu 空闲了,摸鱼也更顺滑了
    3、前段时间忘带电脑来公司,找行政借了一台 windows,装个 ide 就能立马开始干活,如果要从搭环境开始,那一天也废了,哪怕用 docker 搭
    SPACELAN
        25
    SPACELAN  
       2019-06-22 12:05:11 +08:00
    哈哈哈 好像我司啊 所以我都在本地 docker 里做开发
    dimlau
        26
    dimlau  
       2019-06-22 12:11:02 +08:00
    不知道用 resilio 合适不合适
    https://kaix.in/0001/run-resilio-as-normal-user
    janus77
        27
    janus77  
       2019-06-22 12:16:21 +08:00 via iPhone
    emmm git+jenkins 不行吗……
    coder1
        28
    coder1  
    OP
       2019-06-22 19:08:48 +08:00
    @raynor2011 开发机在内网,但 ssh 需要跳板机,且不允许 ftp/smb
    @nisnaker 专用开发机是有好处,但我不太明白 http 脚本上传比 ftp 安全在哪了
    @dimlau 恐怕不允许安装
    @janus77 改一行代码也增加一个提交记录,就算有分支,那耗时也得 1s+吧
    coder1
        29
    coder1  
    OP
       2019-06-22 19:11:39 +08:00
    @loading 跳板机可能是个软件而不是真正的系统,基本上只支持 ssh 命令
    mattx
        30
    mattx  
       2019-06-22 22:02:04 +08:00 via iPhone
    rsync via ssh,文件不多的话写个脚本循环调用 rsync 自动增量同步
    afuler
        31
    afuler  
       2019-06-23 01:39:23 +08:00 via Android
    vscode 有个 ssh 文件系统映射插件楼主试试?
    leishi1313
        32
    leishi1313  
       2019-06-23 06:37:14 +08:00 via Android
    @coder1 哦你意思是你要在内网的机子上开发啊,那没办法的,要么 docker,要么 mac 自己鼓捣鼓捣能不能跑起来,要么。。盲写代码不上机测试,靠单元测试来保证程序正确性。讲道理开发用的服务器不用放内网的,也没重要数据,也真是搞人
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1060 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:11 · PVG 03:11 · LAX 11:11 · JFK 14:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.