【问题标题】:Jenkins slave and Maven ProjectJenkins 奴隶和 Maven 项目
【发布时间】:2013-06-10 01:19:06
【问题描述】:

我无法理解詹金斯奴隶的工作方式。我有一个主詹金斯和一个定义为从属的节点。我有一个 Maven 项目,我想在 slave 上运行,但在 Jenkins Master 上可以使用报告。

我应该将 Maven 安装在 Master 上还是 Slave 上,或者两者都安装?我是否将 Maven 项目保留在 Slave 或 Master 或两者上?我认为应该两者兼而有之,但我不明白为什么?

【问题讨论】:

  • slave是执行mvn命令的地方....
  • 如果是这样,我为什么要在 Master 上安装 Maven?
  • 我遇到了类似的问题,并在这里对此发表了评论:stackoverflow.com/a/24508607/1279002

标签: maven jenkins


【解决方案1】:

使用从属服务器时,您只需确保每个从属服务器都安装了外部工具(在您的情况下为 Maven)并正确配置(在路径、自定义 settings.xml 中可用等)

为避免将作业绑定到唯一的从站,一个明显的最佳做法是让所有从站配置相同(即所有 linux 从站都配备所有需要的工具,Windows 从站也一样,等等)

一旦您的所有工具在每个从属节点上都可用,Jenkins 会负责在可用节点(主节点或从节点)上运行项目。无论使用什么节点,监控、日志尾、构建历史等......对用户都是透明的。

您甚至不需要关心插件,一旦安装在主服务器上,它们就会自动可供从服务器使用。

【讨论】:

  • 感谢您的回复。我意识到必须在 Master 和 Slave 上都安装 Maven 和其他工具,除非我无法仅为从站定义工具!在我的情况下,我实际上需要将项目的构建限制为特定的从站,并且我能够将该项目分配给一个从站。我仍然理解的一点是,如果Master和Slave上有Maven,实际上是哪个Maven在构建项目,它们是否相互通信?还是 Jenkins 唯一一个简单的客户端/服务器连接,它在从站上运行并将结果返回给主站?!
【解决方案2】:

我认为您不需要任何 MAVEN or Jenkins 从站上的组件。然后,当您创建从属服务器时,您可以选择将其作为JNLP(Java Network Launch Protocol) 文件启动。 保存此文件并将其复制到从机并启动它。唯一的先决条件是在从机上安装 JAVA。

在启动时,它将与 Master 建立连接。我正在使用这样的硒网格。我不知道你的用例。这可能会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多