V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ohmyga
V2EX  ›  程序员

web 程序修改发布的生产环境问题..

  •  
  •   ohmyga · 2016-01-15 15:24:28 +08:00 · 2554 次点击
    这是一个创建于 3258 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司的人越来越多了,现在的情况是都是 FTP 直接改生产环境,这样做很蛋疼,经常有人出错,请问一般企业如何处理本地开发的程序 上传到生产环境中....

    11 条回复    2016-01-16 13:58:54 +08:00
    liuchenwei2000
        1
    liuchenwei2000  
       2016-01-15 15:33:19 +08:00
    测试部才有权限打补丁,重启服务器,测试环境尚且要专职负责,何况生产环境?
    一般都会有一个专职的人负责干这些事情,补丁或脚本要按规范给,然后定点统一打补丁重启服务等
    zjq426
        2
    zjq426  
       2016-01-15 17:29:48 +08:00
    有一种东西叫版本控制工具。。。
    ljcarsenal
        3
    ljcarsenal  
       2016-01-15 17:32:34 +08:00
    走发布单 发布失败扣钱
    slixurd
        4
    slixurd  
       2016-01-15 17:34:49 +08:00
    版本控制和这个有毛线关系
    有一种东西叫配置分离工具。
    ifconfig
        5
    ifconfig  
       2016-01-15 18:06:44 +08:00
    @slixurd 请教下为什么和版本控制没关系呢?
    我司用的是 Git 版本管理,测试服务器走 Dev 分支,正式服务器 Master 分支,测试工程师测试通过后我们把 Dev 合并到 Master 。这样不就解决了楼主的问题吗?
    lepig
        6
    lepig  
       2016-01-15 18:11:01 +08:00
    有一种东西叫 rsync 不知道行不行 哈哈哈哈哈哈
    SmiteChow
        7
    SmiteChow  
       2016-01-15 18:13:17 +08:00
    ci
    slixurd
        8
    slixurd  
       2016-01-15 18:22:22 +08:00
    @ifconfig 如果你的配置不同分支不一样的内容,那你合并 Dev 到 Master 的时候就每次都要合并冲突了,就算你把配置文件放在 ignore list 里面,这也很不科学,修改配置后居然不能生效。
    如果说你是从 feature 分支分别合并进 Dev 或者 Master 这还好处理一点。

    配置管理一般都是运行时根据环境获取配置的。方法很多,最简单的就是扔到 ZooKeeper 。
    clino
        9
    clino  
       2016-01-15 18:57:29 +08:00 via Android
    用 git 如果发生问题可以直接 checkout 回原来的版本
    hustlike
        10
    hustlike  
       2016-01-16 13:23:00 +08:00
    只能说你们公司还活在上个世纪。。
    zhouyg
        11
    zhouyg  
       2016-01-16 13:58:54 +08:00
    FTP 啊,好难吐槽。回归正题,我觉得你们需要把存放打包代码和执行代码的服务器分开,我一般都这么搞:

    1.一个服务器 A 集中存放各种公司代码,所有人都把代码放到这里。在这里,就可以把版本控制用起来
    a.如搭建个 gitlab ,等
    b.或者使用一些第三方的专门做企业代码托管, github ,等。

    1.5 不确定,你们的代码是否需要 build ,打包之类的,如果有也可以放个专门的服务器。

    2.执行部署的服务器,这里服务器就是通过配置一系列脚本,从 1 那里下载代码,执行,启动服务器之类。

    总之思路就是: A (代码库) -> B (构建成可正式运行的包)-> C (执行代码,启动服务器)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3312 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:24 · PVG 12:24 · LAX 20:24 · JFK 23:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.