Maven 和 Jenkins 有什么区别? 两者都支持 JUnit 的自动构建和自动执行。 如果是这样,它们是互补的还是相互排斥的?什么时候应该使用一个而不是另一个? 原文由 abson 发布,翻译遵循 CC BY-SA 4.0 许可协议
Maven 正在构建工具/环境。 Jenkins 是一个 CI(持续集成)工具。 Maven 更像是 Ant 的替代品。 它通过 插件 协助构建项目,例如构建和版本控制、JUnit 测试等… 它管理项目的 依赖 项。您在 pom.xml 文件中定义应如何构建项目(插件)以及需要哪些库(依赖项)。 Jenkins 作为一个智能作业调度程序,无法帮助您完成版本控制或 JUnit 测试等任务,但它可以通过调用项目中的 pom.xml 文件间接帮助您完成所有这些工作。 Jenkins 使您能够根据调用的条件以及您希望对结果执行的操作来决定何时调用 pom.xml 文件。 Jenkins 可以监听不同的事件,例如 svn 提交,当前时间是午夜等。 这是一个强有力的想法。例如,您可以要求 Jenkins 在提交新代码时触发构建或运行所有 JUnit 测试,然后,如果单元测试通过,则部署到目标机器上。或者在午夜安排繁重的任务,例如单元测试。这是自动部署或 AKA 持续集成的基本思想。如果您愿意,可以简称为 CI。 原文由 Junchen Liu 发布,翻译遵循 CC BY-SA 3.0 许可协议
Maven 是一个管理依赖关系和应用程序生命周期的构建工具。它还有一个插件设计,允许您将其他任务添加到标准的编译/测试/打包/安装/部署任务中。 Jenkins 是一个持续集成套件,可将您的代码从存储库中检出、构建和打包,然后将其转储到服务器,以便您可以对其进行测试 - 全部无需干预。它可以使用 Maven 或 Ant 作为其构建工具。 总之,Jenkins 可以使用 Maven 作为其持续集成的构建工具。如果你选择不做 CI,你可以在没有 Jenkins 的情况下使用 Maven。 原文由 duffymo 发布,翻译遵循 CC BY-SA 3.0 许可协议
Maven 正在构建工具/环境。 Jenkins 是一个 CI(持续集成)工具。
Maven 更像是 Ant 的替代品。
Jenkins 作为一个智能作业调度程序,无法帮助您完成版本控制或 JUnit 测试等任务,但它可以通过调用项目中的 pom.xml 文件间接帮助您完成所有这些工作。 Jenkins 使您能够根据调用的条件以及您希望对结果执行的操作来决定何时调用 pom.xml 文件。 Jenkins 可以监听不同的事件,例如 svn 提交,当前时间是午夜等。
这是一个强有力的想法。例如,您可以要求 Jenkins 在提交新代码时触发构建或运行所有 JUnit 测试,然后,如果单元测试通过,则部署到目标机器上。或者在午夜安排繁重的任务,例如单元测试。这是自动部署或 AKA 持续集成的基本思想。如果您愿意,可以简称为 CI。