Maven 和 Jenkins 有什么区别?

2022-08-31 14:47:16

Maven 和 Jenkins 有什么区别?

两者都支持 JUnits 的自动构建和自动执行。

如果是这样,它们是互补的还是相互排斥的?什么时候应该使用一个而不是另一个?


答案 1

Maven正在构建工具/环境。Jenkins 是一个 CI(持续集成)工具。

Maven更像是蚂蚁的替代品。

  1. 它通过插件帮助构建项目例如构建和版本控制,JUnit测试等...
  2. 它管理项目的依赖项。定义项目应该如何构建(插件),以及在pom.xml文件中需要哪些库(依赖项)。

Jenkins 作为一个智能作业调度程序,无法帮助您完成版本控制或 JUnit 测试等任务,但是它可以通过调用项目中的 pom.xml 文件来间接帮助您完成所有这些工作。Jenkins 让你能够根据调用什么条件以及你想对结果做什么来决定何时调用 pom.xml 文件,Jenkins 可以监听不同的事件,例如 svn commit,当前时间是午夜等。

这是一个强有力的想法。例如,您可以要求 Jenkins 在提交新代码时触发生成或运行所有 JUnit 测试,然后,如果单元测试通过,则在目标计算机上部署。或者在午夜安排繁重的任务,例如单元测试。这是自动部署或AKA持续集成的基本思想。如果您愿意,简称CI。


答案 2

Maven 是一种构建工具,用于管理依赖项和应用程序生命周期。它还具有插件设计,允许您将其他任务添加到标准编译/测试/打包/安装/部署任务中。

Jenkins 是一个持续集成套件,它从存储库中检查你的代码,构建和打包它,并将其转储到服务器,以便您可以测试它 - 所有这些都无需动手。它可以使用Maven或Ant作为其构建工具。

总而言之,Jenkins 可以使用 Maven 作为其持续集成的构建工具。如果你选择不做 CI,你可以在没有 Jenkins 的情况下使用 Maven。


推荐