我是一个开发团队的一员,该团队使用 Joomla 和 Drupal 等系统处理许多基于 CMS 的项目。
在我们的开发过程中,我们所有的代码更改都在 Git 内部进行管理。在 sprint 结束时,我们创建一个DIFF,我们可以通过补丁将其应用到实时站点。
问题是大多数时候,变化包括
- 数据库架构更改
- 数据库数据更改
- 源代码更改
- 二进制文件更改(如图像)
Git Diff 可以很好地处理源代码更改。二进制文件仅不包含在 Diff 中,除非参考文件已更改的事实。
数据库架构更改和数据库数据更改是一团糟。
我在徘徊,是否存在类似统一的补丁系统,可用于在 1 个补丁中部署所有这些更改。
所以问题是,“是否有一个系统可用于一次性部署所有这些更改?
理想情况下,该系统将允许像补丁一样运行干运行,但适用于所有 4 种数据类型。
编辑:感谢大家提供的反馈,这是我在该领域进行研究的起点。
这是我到目前为止发现的:
使用 linux 打包系统部署基于 php 的应用程序很困难,因为对项目的更改是迭代发生的,而不是作为发布发生的。
可以使用 dbconfig 将更改部署到项目,但问题是生成 mysql db 差异(模式和数据)
部署基于 php 的应用程序真正缺少的是一个部署管理器,它将安装在服务器上,并将作为部署补丁的接口
我在这个主题上创建了一个 Google Wave,结果产生了很多信息。如果有人有兴趣阅读这一波,请告诉我,我会加你。