0

我是模式迁移的新手,所以我有点失落:LiquiBase,Maven和Jenkins之间的关系?

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

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

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

如果詹金斯没有构建自动化 2.我可以使用LiquiBase Maven插件在pom.xml连接LiquiBase和Maven。然后通过使用Jenkins Maven插件或任何其他方式将它连接到Jenkins?

+0

这将是一个美丽的示例问题在这里:http://area51.stackexchange.com/proposals/85819/devops –

回答

5

这些都是完全独立的工具,你似乎至少有一些理解。

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

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

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

您问“Jenkins有自己的编译自动化还是我必须使用Maven插件进行编译?”

詹金斯并不“天生”知道如何建立任何东西。它可以使用Maven,它可以使用Ant,它可以使用make,它可以使用shell脚本,它可以使用你自己酿造的批处理文件和Perl的可憎。它确实对Maven项目有一些内置的理解,因为它来自Java社区,并且它本身是用Maven构建的。您没有提及您使用的是哪种语言/平台,因此选择Maven作为构建工具是否合适尚不清楚。如果您正在使用Java或其他基于JVM的语言,那么Maven可能是合适的。因此,如果您使用Java来构建使用数据库的基于Web的应用程序,并且您想要实践持续集成以确保您的应用程序始终通过其自动化测试并始终具有可部署的构件,那么这三个组件工具可以很好地一起使用。

回到最后的位 - 有很多不同的方式来使用Liquibase。它有不同的命令来完成不同的事情,并且可以用不同的方式运行这些命令。一种方法是使用Maven来运行命令。

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

0

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

但是,如果你只是有这个项目,Maven和用不上的詹金斯安装插件,您可以使用maven-wrapper这是自行家3.3.x可与Java 7中运行,你可以使用liquibase与Maven目标包装

0

您好先生,如果您想通过maven运行liquibase,您必须将该插件添加到poom以及包含xml迁移和参数数据库 的位置,所以您有两种方法。 使用Maven,并添加插件,您可以观看这部影片,它会指导你如何来整合liquibase通过行家: https://www.youtube.com/watch?v=iyWIqN_QjVE&t=19s 第二种方式:您将在詹金斯安装插件liquibase这个视频将指导你如何来做到这一点: https://www.youtube.com/watch?v=LAfLsS0BTTQ&t=25s 我希望对你有所帮助。