Deployment 如何部署:1个补丁中的数据库、源代码和二进制更改?
我是一个开发团队的成员,该团队使用Joomla和Drupal等系统处理许多基于CMS的项目 在我们的开发过程中,所有代码更改都在Git内部管理。在sprint结束时,我们创建了一个DIFF,我们可以通过补丁应用于live站点 问题是,大多数时候,这些变化包括Deployment 如何部署:1个补丁中的数据库、源代码和二进制更改?,deployment,migration,patch,Deployment,Migration,Patch,我是一个开发团队的成员,该团队使用Joomla和Drupal等系统处理许多基于CMS的项目 在我们的开发过程中,所有代码更改都在Git内部管理。在sprint结束时,我们创建了一个DIFF,我们可以通过补丁应用于live站点 问题是,大多数时候,这些变化包括 数据库架构更改 数据库数据更改 源代码更改 二进制文件更改(如图像) Git Diff完美地处理源代码更改。二进制文件仅不包括在差异中,除非参考文件已更改的事实 数据库模式更改和数据库数据更改都是一团糟 我想知道是否存在一个统一的补丁系
- 数据库架构更改
- 数据库数据更改
- 源代码更改
- 二进制文件更改(如图像)
如果有人对阅读这一浪潮感兴趣,请告诉我,我会加上你。我认为你不会找到一个故障安全机制 我建议,在可能的情况下,在进行架构/数据更改时考虑与当前发布源的兼容性 通过这种方式,您可以创建一个v.simple工具,运行提交到特定svn位置的数据库脚本(您不希望数据库更改有差异,就好像您需要进一步修改一样,您需要不同的语句) 完成上述操作后,您可以使用一个简单的命令来运行数据库更改,然后更改二进制代码和源代码
对于数据库,还可以选择模式和数据比较工具,这些工具可用于比较环境并确保更改脚本中没有任何意外缺失-也可以生成更改脚本,但正如我所说,您确实希望确保它不会中断当前源。用于处理安装和upgr对于我们的应用程序,我们使用。(.deb包) 背景: 我们正在制作J2EE+Flex应用程序。通过VPN发货和管理。 离你不远 通过puppet(一个自动化系统管理任务的系统:他安装了我们的.deb)重新安装并升级到另一个版本 在我们的房间里,黛布
好处是什么
- 自信地自动安装/升级
- 回滚一个版本
- run-dry是本机支持的
就你而言
* Database Schema Changes
* Database Data Changes
* Source Code changes
* Binary file changes (like images)
Database=>您必须编写迁移脚本。每个版本一个。(例如:1.2-update.sql 1.3-update.sql)
源代码和二进制=>添加它们,比如在witch版本中,它们必须被复制/使用
编辑:我不确定源代码。我们正在用编译后的代码来做
开始时的一些链接: (法语) [1] :dbconfig
[1] :debian您可以创建一个工具来轻松地进行迁移,类似于Peoplesoft的补丁升级助手 它基本上是一个独立的可执行文件,读取“升级模板”并执行任务。升级模板以声明方式描述升级任务或“步骤”。这些步骤可以是-copy(用于备份或移动预编译对象,如类和othar二进制文件)、数据库(用于更改架构元素)、SQL脚本(用于加载或转换当前数据)。这些步骤将具有一些谓词逻辑功能-如果是这样,请执行此操作,否则跳过它并转到下一步等 模板通常是XML文件。它还提供手动步骤以及手动操作说明。每个步骤还指定是否可恢复。它还将验证步骤是否成功
可能有一个围绕这一需求的开源项目,这是很常见的。您需要将git commit对象保存在本地文件中,然后将它们导入其他repo/branch。+1与我所说的一致,