【问题标题】:Run custom database scripts in Jenkins在 Jenkins 中运行自定义数据库脚本
【发布时间】:2019-11-18 18:16:56
【问题描述】:

到目前为止,我已经在 J​​enkins 中看到了与构建过程相关的不同选项和工作。我想知道是否有一种方法可以创建一个连接到数据库并运行脚本的作业,该脚本将执行一些操作。也许,Jenkins 可以运行一个脚本文件或者只存储一些要运行的操作。提前致谢。

【问题讨论】:

    标签: java database jenkins


    【解决方案1】:

    您有两个主要选择:

    • 使用 Execute shellExecute Windows 批处理命令 构建步骤

    • 使用基于 java 的工具,例如 liquibase、ant tasks、maven 插件等等。您甚至可以将其作为 JUnit 测试的一部分。考虑搜索“数据库迁移 java”

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

    您需要数据库进行一些测试吗?那么您可能应该使用基于 Java 的解决方案,因为它独立于平台,并且很可能适用于任何操作系统。

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

    【讨论】:

      【解决方案2】:

      开箱即用,Jenkins 中没有数据库插件或作业。

      最简单的方法是使用 Ant 任务。 Jenkins 中有对 ant 任务的原生支持。查看 Ant 的SQLTask

      【讨论】:

        【解决方案3】:

        执行 shell(在类 Unix 系统上)和 执行 Windows 批处理命令(在 Windows 上)构建步骤可用于在 Jenkins 上运行任意脚本。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-09-04
            • 2016-06-08
            相关资源
            最近更新 更多