我是使用Joomla和Drupal等系统开发许多基于CMS项目的开发团队的一员。如何部署:1修补程序中的数据库,源代码和二进制文件更改?
在我们的开发过程中,我们所有的代码更改都是在Git内部进行管理的。在冲刺结束时,我们创建了一个DIFF,我们可以通过补丁将其应用到现场。
的问题是,大部分的时间,这些变化包括
- 数据库结构更改
- 数据库数据的变化
- 源代码更改
- 二进制文件的更改(如图片)
Git Diff处理源代码变化很漂亮。除了引用文件已更改的事实外,二进制文件仅包含在Diff中。
数据库模式更改和数据库数据更改是一团糟。
如果存在可用于在1个补丁中部署所有这些更改的统一补丁系统,则我正在徘徊。
所以现在的问题是,“有没有可用于部署的所有这些变化在1次射门的系统?
理想的情况下,该系统将允许运行干运行像补丁,但对于所有的4个数据类型的
编辑: 谢谢大家对您提供的反馈意见,这是对我在这方面的研究起点
这是我迄今发现:
这是很难使用Linux包装 系统部署基于PHP的 应用程序,因为更改 项目反复发生而 然后作为释放。
这将有可能使用DBCONFIG部署变为 项目,但问题是 生成的MySQL数据库的diff(架构 和数据)
真正缺少的基于PHP应用程序部署 是将 在服务器上安装部署管理器,并会 是部署 补丁
我在这个主题上开了一个Google Wave,并产生了很多信息。 如果有人有兴趣阅读这一波,请让我知道,我会加你。
+1符合我所说的,用特定的包装系统使用+版本跟踪评论。请注意,如果不考虑与以前版本的应用程序的数据库兼容性,则应在发布和回滚期间将站点/服务置于离线状态,以防发生故障。 – eglasius 2009-11-27 17:27:04
@Antoine Claval,非常感谢您的反馈,我发现它非常有帮助。感谢您抽出时间来概述您的部署策略,我认为您应该享有声望点:) – 2009-12-03 18:55:41