LiquiBase、Maven 和 Jenkins 之间的关系?

Relation between LiquiBase, Maven and Jenkins?

我是架构迁移的新手,所以我有点迷茫:

LiquiBase:架构迁移,Maven:构建自动化,Jenkins:持续集成。我正在使用 bitBucket 进行源代码控制。

我可以通过命令行、Maven 或 Jenkins 运行 LiquiBase。

  1. Jenkins 是否有自己的构建自动化,或者我必须使用 Maven 插件进行构建?如果它有自己的构建自动化,那么我可以只连接 Jenkins 和 LiquiBase 而不必担心 Maven。

如果 Jenkins 没有构建自动化 2.我可以使用pom.xml中的LiquiBase Maven插件来连接LiquiBase和Maven吗?然后使用 Jenkins Maven 插件或任何其他方式将其连接到 Jenkins?

Jenkins 可以与 maven 或任何其他构建自动化工具集成 - 您只需要安装插件并选择您要使用的版本,它将在您 运行 首次使用 maven 工作时下载时间。这会很棒,因为您将拥有适用于所有项目的专家。

但是,如果您只是使用 maven 进行此项目并且无法在 jenkins 中安装插件,您可以使用 maven-wrapper,自 maven 3.3.x 和 运行 with java 7. 您可以将 liquibase 目标与 maven-wrapper

一起使用

这些都是完全独立的工具,您似乎至少了解一些。

Maven - 一个可以做很多事情并提供插件来做更多事情的工具。可能试图做太多。它所做的主要事情是编译和打包 Java 代码。它还可以 运行 单元测试、生成文档和生成项目网站。添加插件后,它可以执行静态代码分析、数据库模式迁移、替代打包(即构建 Eclipse 插件、功能或产品,或 Android 程序,或...)

Jenkins - 一种持续集成工具 - 其最基本的形式包括等待源代码控制工具中的内容发生变化,运行构建工具(可能还包括测试),以及将构建的工件存档到已知位置。

Liquibase - 一种使数据库架构更改与使用数据库的随附代码保持同步的工具。

你问了 "Does Jenkins have its own build automation or I have to use the Maven plugin for builds?"

Jenkins "natively" 不知道如何构建任何东西。它可以使用 Maven,它可以使用 Ant,它可以使用 make,它可以使用 shell 脚本,它可以使用你自己自制的批处理文件和 perl。它确实对 Maven 项目有一些内在的理解,因为它来自 Java 社区并且它本身是用 Maven 构建的。您没有提到 language/platform 您正在使用什么,因此不清楚选择 Maven 作为您的构建工具是否合适。如果您正在使用 Java 或其他以 JVM 为目标的语言,那么 Maven 可能是合适的。

因此,如果您正在使用 Java 构建一个使用数据库的基于 Web 的应用程序,并且您想要练习持续集成以确保您的应用程序始终通过其自动化测试并且始终具有可部署性工件,那么这三个工具一起使用会很好。

进入最后阶段 - 有许多不同的方法可以使用 Liquibase。它有不同的命令来做不同的事情,您可以 运行 以不同的方式使用这些命令。一种方法是使用 Maven 来 运行 命令。

我建议,如果您不熟悉这一切,最好从命令行使用 Liquibase 开始,而不是尝试使用 Liquibase Maven 插件。了解其工作原理后,请确定使用 Maven 是否会减少您在使用命令行时遇到的任何问题 'pain'。

您好,先生,如果您想通过 Maven 运行 liquibase,您必须在 poom 上添加插件以及包含 xml 迁移和参数数据库的位置 所以你有两种方法。 使用 Maven 并添加插件,您可以观看此视频,它将向您解释如何通过 Maven 集成 liquibase: https://www.youtube.com/watch?v=iyWIqN_QjVE&t=19s 第二种方式:您将在 jenkins 上安装插件 liquibase 此视频将向您解释如何操作: https://www.youtube.com/watch?v=LAfLsS0BTTQ&t=25s 希望对你有所帮助。