使用TeamCity自动化数据库部署

时间:2015-12-10 19:04:11

标签: database automation teamcity

我们目前正在使用TeamCity,我想知道是否有可能让它处理我们的数据库进程。这是我想要实现的目标。

  1. 用户运行构建
  2. TeamCity远程登录到数据库服务器(或通过命令行告诉程序)
  3. 运行更新记录的SQL脚本
  4. 将mdf / ldf复制回团队城市,以便在构建
  5. 中进行操作

    如果这更容易,它可以像这样工作

    1. 用户登录数据库服务器并运行批处理文件,该文件执行以下操作:
    2. 运行更新记录的SQL脚本
    3. 复制MDF / LDF,然后上传到存储库
    4. 通过带参数
    5. 的Web钩子调用构建过程

      我似乎无法找到任何让我开始的东西。任何指向正确方向的帮助都会有所帮助。

1 个答案:

答案 0 :(得分:0)

从上面的描述中我猜你正在尝试复制一个共享(开发)数据库,然后你想在CI服务器上修改并运行测试。

没有什么能阻止你用TeamCity做的事情(因为它可以运行任意代码作为构建步骤),但它显然有点笨拙,并没有为你想要做的事情提供特定的支持。 / p>

一些替代方法:

  • 考虑直接连接到您的共享数据库,但将所有操作放在一个事务中,以便您可以放弃所有更改。如果您的数据库提供该功能,请考虑数据库快照。
  • 在需要时在CI上部署一个全新的数据库。自动化架构部署并填充它将测试数据。使用轻量级数据库,例如SQL Local DB或SQL Lite。