2012-06-25 41 views
4

到目前为止,我在Jenkins中看到了与构建过程相关的不同选项和作业。我想知道是否有办法创建一个连接到数据库并运行脚本的作业,这将执行一些操作。也许,詹金斯可以运行一个脚本文件或只存储一些要运行的动作。提前致谢。在Jenkins中运行自定义数据库脚本

回答

3

你有两个主要选择:

  • 使用执行shell执行Windows批处理命令打造步骤

  • 使用像liquibase基于Java的工具,Ant任务,Maven插件或更多。您甚至可以将其作为JUnit测试的一部分。考虑搜索“数据库迁移Java的

其中哪些是“正确”的解决方案取决于构建的目的:

你需要一些测试数据库?那么你可能应该使用基于Java的解决方案,因为它与平台无关,很可能适用于任何操作系统。

您是否想在将数据库脚本交给管理员部署之前实际测试数据库脚本?那么你可能想要使用管理员要使用的确切工具,并在管理员使用的操作系统上执行它。他们很可能不太热衷于使用基于java的工具来完成这项工作。

3

开箱即用,詹金斯没有数据库插件或工作。

最简单的方法是Ant任务。 Jenkins有对ant任务的本地支持。检出Ant的SQLTask

1

执行壳(在类Unix系统)和执行Windows批处理命令(在Windows上)生成步骤可以用于对詹金斯运行任意脚本。

0

您可能想看看LiquiBase,它可以通过Maven执行与平台无关的脚本。这可能不适合您的用例,但过去我成功地使用它来管理与特定软件构建相关的数据库更改以及环境之间的构建升级。

相关问题