安全的数据库部署自动化

来源:互联网 发布:js所有方法 编辑:程序博客网 时间:2024/05/17 23:39
通过将数据库对象变更脚本写进传统的版本控制系统中实现自动化的做法有局限性、不灵活、与数据库本身脱节,而且可能不合标准,并容易因为脚本冲突丢失目标环境的更新。使用“比较&同步”工具实现自动化则是一件有风险的事。这两种理念没有结合在一起,一个不知道另一个,必须找出一种更好的解决方案。

为了将数据库恰当地自动化,必须考虑下列因素:

1、在执行一个工作流程时,有恰当的数据库版本控制系统,应对数据库独有的挑战。这可以防止任何流程外的变更、代码覆盖、或者不完整的更新。

2、利用已经证明了的版本控制最佳实践,获得关于谁在什么时间因为什么做了什么的完整信息。确保变更的完美记录是以后部署的基础。


3、与基于任务的开发相协调,使每个版本控制下的变更与一个变更请求或者一个问题单相关联。这使得基于任务的部署、部分部署和最后时刻的范围变更可以在代码和数据库之间协调。
4、确保配置管理&一致性,这样,每个开发环境、分支、主干、沙箱以及测试或生产环境都遵循相同的结构、一致的状态;或者对任何偏差和差异做详细说明。
5、处理部署流程自动化的脚本化接口能够在每次执行时提供可重复的结果。如果不得不使用用户界面一次又一次地做同样的工作,那么即使是最先进的解决方案也会变得繁琐。
 


6、提供可靠的部署脚本,能够解决冲突、合并代码、以及与其他团队交叉更新;同时还能忽略错误的代码覆盖,以及完全集成到版本控制库。
7、动态提供自动生成的开发脚本,处理部署项目范围内的任意组合,从多模式的大型更新,到基于单任务的变更及其所依赖的对象。
8、在变更部署前后,利用“标签”(标记数据库结构快照和相关内容)作为安全网,这样,随时都可以简单快速地回滚。
9、可以完全集成到其它系统(ALM、变更管理/问题单、构建服务器以及发布管理器)。
实现一种能够应对这些挑战的解决方案,将使企业能够实行恰当的数据库自动化。数据库自动化很容易与变更和发布流程的其余部分集成,进而实现完整的端到端的自动化。


0 0
原创粉丝点击