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

多机代码推送方案

  •  
  •   miao666 · 2019-05-30 01:07:37 +08:00 · 1789 次点击
    这是一个创建于 2031 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前几年写了个 PHP 服务端小程序,意外地被很多老板喜欢,现在还在收费维护中。
    可是维护的客户有点多了,差不多有 30 个。
    现在更新了代码,每次都要登录客户的服务器 git pull 一下。
    想问下大家有什么好办法可以处理类似情况的?

    我准备改进的方案是:

    1.每台服务器部署一个 crond 服务,每天凌晨 pull 一下。
    2.每台服务器写个接口,每次更新代码请求一下服务器列表。

    但是我感觉上面的都不太好,应该有成熟的代码更新方案?
    不知道大家是怎么更新多机代码的?

    4 条回复    2019-05-30 08:25:31 +08:00
    eritpchy
        1
    eritpchy  
       2019-05-30 01:17:06 +08:00 via Android
    rsync 直接一台台推过去
    lincanbin
        2
    lincanbin  
       2019-05-30 01:54:49 +08:00 via Android
    ansible
    msg7086
        3
    msg7086  
       2019-05-30 04:59:11 +08:00
    1. 部署不建议 Git 直接拉,而是建议打包。
    2. 更新代码不建议无脑更,最好是让客户自己决定要不要更新。

    如果你要成熟的方案,可以考虑直接用操作系统自己的包管理,比如把程序打包成 deb,然后直接露出 deb repo,在客户机上 apt upgrade 就能更新了。
    whileFalse
        4
    whileFalse  
       2019-05-30 08:25:31 +08:00 via iPhone
    在业务里加更新功能啊。管理员登陆进去就能看到更新,自己选要不要更新。
    同时提供强制更新功能,静默更新没得选。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1135 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.