部署 – 如何部署:1个补丁中的数据库,源和二进制更改?
我是一个开发团队的成员,该团队使用Joomla和Drupal等系统处理许多基于CMS的项目.
在我们的开发过程中,我们所有的代码更改都在Git内部进行管理.在sprint结束时,我们创建一个DIFF,我们可以通过补丁应用到实时网站. 问题是大多数时候,变化包括 >数据库架构更改 Git Diff可以很好地处理源代码更改.二进制文件仅包含在Diff中,除非引用文件已更改. 数据库架构更改和数据库数据更改是一团糟. 如果存在可用于在1个补丁中部署所有这些更改的统一补丁系统,我就会徘徊. 所以问题是,“是否有一个系统可用于在一次拍摄中部署所有这些变化? 理想情况下,该系统允许像补丁一样运行干运行,但对于所有4种数据类型. 编辑: 这是我到目前为止发现的: >基于php部署很困难 我在这个主题上开了一个Google Wave,结果产生了很多信息. 解决方法为了处理我们的应用程序的安装和升级,我们使用 debian packaging system .(.deb包)背景: 通过puppet(一个用于自动执行系统管理任务的系统:他安装我们的.deb)进行全新安装和升级版本到另一个版本 在.deb中我们有 >我们编译的源代码 =所有新安装的东西 我们还添加了从版本到另一个版本的信息 >用于升级数据库的脚本(针对每个版本) =>一旦正确生成.deb,我们就可以在一次操作中无缝安装或升级. (它是自动生成的,没有任何提示). Theire是一个.deb每个版本,每个.deb都有一个版本号和一个签名. .deb在我们的连续集成系统中. (我们每小时构建一个.deb,就像我们即将发布一个新版本一样) 有什么好处? >自信地自动安装/升级. 在你的确切情况下 * Database Schema Changes * Database Data Changes * Source Code changes * Binary file changes (like images) 数据库=>你必须编写迁移脚本.每个版本一个. (例如:1.2-update.sql 1.3-update.sql) 源代码和二进制=>添加它们,比如在巫婆版本中,它们必须被复制/使用 编辑:我不确定源代码.我们正在用编译的代码做到这一点…… 一些链接开始: https://wiki.ubuntu.com/PackagingGuide/Complete http://www.debian.org/doc/manuals/maint-guide/index.fr.html#contents(法文) [1]:http://pwet.fr/man/linux/formats/dbconfig dbconfig [1]:http://www.debian.org/doc/FAQ/ch-pkg_basics.en.html debian (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |