数据库更改的持续集成

时间:2014-05-27 10:52:04

标签: database jenkins continuous-integration

我想实现数据库更改的持续集成。我想知道如何做到这一点以及作为db的CI的一部分我们必须做的活动(例如:create db / execute scripts / xx)。

CI:詹金斯 DB:SQL Server

我不想使用像RedGate这样的工具......让我知道你的想法。

由于

2 个答案:

答案 0 :(得分:5)

一个可以跟踪和维护数据库架构变更集的好工具是Liquibase。友好的Apache 2.0许可证,多种格式支持在VCS中存储更改集,生成包含更改摘要和其他一些功能的HTML文档的可能性使其成为一个很好的匹配。我目前正在几个项目中使用这个工具非常有效,好东西...

答案 1 :(得分:0)

为了在CI流程中拥有数据库,您必须依赖部署自动化。 自动化包括两个阶段:

  1. 生成脚本 - 我希望您同意不应手动完成。

  2. 执行并跟踪脚本。

  3. 第一阶段至关重要,如果您生成错误的脚本并执行它,您将有垃圾进入垃圾场。

    在我看来,第一阶段需要进行基线感知分析,将源,目标与基线进行比较。基线是您在进行更改之前标记的标签,它可以帮助您识别要部署的更改,为保护目标而进行的更改(例如,为关键修复添加到生产中的索引)和您需要合并的冲突(例如,在开发中和生产中更改的过程 - 其他代码行)