在有状态CMS中将后台与Github同步

为了持续集成和部署网站,我正在使用以下管道:

在有状态CMS中将后台与Github同步

但是对于许多CMS,例如wordpress,prestashop,magento等,网站的配置和插件的安装都是在已部署网站的后台完成的。

现在,我将在CMS基本映像之上构建docker映像,然后将所有/ var / html目录替换为github中的文件。然后,Kubernetes正在部署容器并插入数据库和持久性存储


因此,这打破了我的工作流程:假设有人在后台安装和配置插件,然后有人对文件进行了修改并将其推送到github。 github存储库没有安装插件的信息,如果没有该信息,它将构建和部署新映像。

如何在我的github存储库中的后台中整合所有修改?

q7236181 回答:在有状态CMS中将后台与Github同步

我们使用的解决方案是覆盖DB类。

因此,我们监视许多表(配置,模块,挂钩等),并将所有有关该表的查询存储在sql文件中。

因此,在提交期间,我们还有一个.sql操作要在数据库端执行。

部署后,您可以手动执行sql,或者脚本检测到存在新的SQL并执行。

通过这种方式,我们始终保持最新状态。

我们以Prestashop模块的形式开发了此解决方案,以跟踪所有操作。

致谢

,

我(无论如何都不理想)的工作解决方案:

  1. 在docker外部创建plugins文件夹,并将此文件夹符号链接到dockered / wp-content / plugins中
  2. 在生产中重新创建上方
  3. 如果您(或开发团队)需要安装新的东西,那么安装新插件不会破坏CI流程,但是需要两个独立的安装和配置。

因此,您基本上像对待DB一样对待插件文件。

本文链接:https://www.f2er.com/3059186.html

大家都在问