LiquiBase,Maven和Jenkins之间的关系?

时间:2015-05-14 15:59:22

标签: maven jenkins continuous-integration build-automation liquibase

我是模式迁移的新手,所以我有点迷茫:

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

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

  1. Jenkins是否有自己的构建自动化,或者我必须使用Maven插件进行构建?如果它有自己的构建自动化,那么我可以连接Jenkins和LiquiBase而不用担心Maven。
  2. 如果Jenkins没有构建自动化 2.我可以使用pom.xml中的LiquiBase Maven插件连接LiquiBase和Maven。然后使用Jenkins Maven插件或任何其他方式将其连接到Jenkins?

3 个答案:

答案 0 :(得分:5)

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

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

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

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

您问“Jenkins是否有自己的构建自动化,或者我必须使用Maven插件进行构建?”

Jenkins并不“天生地”知道如何构建任何东西。它可以使用Maven,它可以使用Ant,它可以使用make,它可以使用shell脚本,它可以使用你自己的家庭酿造的批处理文件和perl。它确实对Maven项目有一些内在的理解,因为它来自Java社区,它本身是用Maven构建的。您没有提到您正在使用的语言/平台,因此不清楚选择Maven作为您的构建工具是否合适。如果您使用的是Java或其他面向JVM的语言,那么Maven可能是合适的。

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

归结到最后一点 - 使用Liquibase有许多不同的方法。它有不同的命令可以执行不同的操作,您可以以不同的方式运行这些命令。一种方法是使用Maven来运行命令。

我建议如果你是所有这些的新手,最好从命令行开始使用Liquibase而不是尝试使用Liquibase Maven插件。一旦你了解它是如何工作的,确定使用Maven是否减少了你使用命令行遇到的任何“痛苦”。

答案 1 :(得分:0)

Jenkins可以与maven或任何其他构建自动化工具集成 - 您只需要安装插件并选择要使用的版本,并且在第一次使用maven运行作业时将下载该版本。这将是很好的,因为你将拥有所有项目的maven。

但是,如果您只是将这个项目与maven一起使用并且无法在jenkins中安装插件,则可以使用自{maven 3.3.x以来可用的maven-wrapper并使用java 7运行。您可以将liquibase目标与maven-wrapper一起使用

答案 2 :(得分:0)

您好先生,如果您想通过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 我希望这对你有所帮助。