现在我需要在后台做一个在线更新的功能,如何实现,有没有轮子
现在我需要在后台做一个在线更新的功能,让客户的系统,可以通过后台的一个按钮,在线升级到最新版本,如何实现,有没有轮子
数据库字段维护怎么更新
如果涉及到composer呢
如果你在 Laravel 里面使用,希望做到通过 composer 更新依赖,并且独立、模块化开发,可以考虑使用 laravel 里面的插件管理器: https://discuss.plugins-world.cn/post/9S19kdNL。
laravel 的插件使用:博客:给大家一个小惊喜,Laravel 插件,从 packagist.org 自动安装到项目...
fresns 下的插件使用:分享创造:Plugin Manager: 让 Laravel 应用更具组织性和可扩展性
效果长这样:
我的思路如下:
其中的初始化容器在 docker compose 里面可以使用依赖关系进行控制,在 k8s 集群里面有专用的 init 容器进行控制。
集群里需要额外注意,一些升级脚本可能需要加分布式锁避免多实例同时运行。目前有很多持续部署方案开放API进行调用,最简单的可以开放一个服务去执行 shell 脚本来进行升级。
另外需要注意的是要控制好回滚,一般来说数据库只支持增加字段,不应该删除字段,升级前的数据备份往往也是自动化部署的一部分。
这个问题本身就是个难题,像你说的队列消费无法消费新的数据,这个即使在我们平时开发都会存在,像这种更新可以考虑停机更新,以及某个大版本是不支持回滚的,或者升级之前做好代码和数据库的备份。