现在我需要在后台做一个在线更新的功能,如何实现,有没有轮子

现在我需要在后台做一个在线更新的功能,让客户的系统,可以通过后台的一个按钮,在线升级到最新版本,如何实现,有没有轮子

数据库字段维护怎么更新

如果涉及到composer呢

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7
mouyong

如果你在 Laravel 里面使用,希望做到通过 composer 更新依赖,并且独立、模块化开发,可以考虑使用 laravel 里面的插件管理器: https://discuss.plugins-world.cn/post/9S19kdNL。

laravel 的插件使用:博客:给大家一个小惊喜,Laravel 插件,从 packagist.org 自动安装到项目...
fresns 下的插件使用:分享创造:Plugin Manager: 让 Laravel 应用更具组织性和可扩展性

4个月前 评论
wongvio (楼主) 4个月前
mouyong

效果长这样:

file

4个月前 评论
sanders

我的思路如下:

  1. 将代码打包到 docker 镜像中;
  2. 将迭代执行的脚本整理成 shell 脚本,并通过初始化容器安装运行;
  3. 应用容器依赖初始化容器启动。

其中的初始化容器在 docker compose 里面可以使用依赖关系进行控制,在 k8s 集群里面有专用的 init 容器进行控制。

集群里需要额外注意,一些升级脚本可能需要加分布式锁避免多实例同时运行。目前有很多持续部署方案开放API进行调用,最简单的可以开放一个服务去执行 shell 脚本来进行升级。

另外需要注意的是要控制好回滚,一般来说数据库只支持增加字段,不应该删除字段,升级前的数据备份往往也是自动化部署的一部分。

4个月前 评论
ononl 4个月前
sanders (作者) 4个月前

这个问题本身就是个难题,像你说的队列消费无法消费新的数据,这个即使在我们平时开发都会存在,像这种更新可以考虑停机更新,以及某个大版本是不支持回滚的,或者升级之前做好代码和数据库的备份。

4个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!