当前位置: 首页 > 面试题库 >

如何在Jenkins中为每个从节点配置Maven安装?

宋洲
2023-03-14
问题内容

症状

如果我使用所有默认值在Jenkins( New Item => Maven project
,使用maven插件)中创建一个Maven作业并运行所有默认值,则会出现此错误:

Started by user anonymous
Building on master in workspace /var/lib/jenkins/jobs/job_name/workspace
ERROR: A Maven installation needs to be available for this project to be built.Either your server has no Maven installations defined, or the requested Maven version does not exist.
Finished: FAILURE

Maven在命令行中只需运行即可mvn

不可接受的解决方法

有用于Maven安装的系统范围内的Jenkins配置: Manage Jenkins => 配置系统 => Maven / Maven安装
。如果我使用此Web
UI添加Maven安装(通过在MAVEN_HOMEas中提供预安装的路径/usr/share/maven),则该作业将运行成功。

问题:为什么它是全局Jenkins配置而不是特定于Slave的配置?

全局的Jenkins配置没有意义:Maven是按从属而不是Jenkins运行的。

Jenkins运行作业的Slaves动物园可能包含具有各种平台,操作系统和环境的Slave,其中不同版本的Maven安装在不同的位置。

问题:如何配置每个从节点的Maven安装?

在Slave节点上为整个系统设置相同的路径MAVEN_HOME和M2_HOME类似的环境变量无效。

版本号

Jenkins Master和Slave都是Linux主机。詹金斯版本:1.598


问题答案:

假设您在从属服务器上安装了Java和Maven:

  1. 转到管理Jenkins->管理节点
  2. 单击要配置的节点上的配置图标
  3. 向下滚动到“节点属性”,然后选中“工具位置”复选框
  4. 填写Java和Maven的选项。

现在它应该可以工作了(即使您已经在主服务器上配置了Maven安装)。



 类似资料:
  • 将环境变量和设置为从节点上的整个系统的相同路径不起作用。 Jenkins Master和Slave都是Linux主机。Jenkins版本:

  • 问题内容: 我已经设置了一个Jenkins主节点,并且想要在同一网络中添加一个从节点。我需要在从机上安装Jenkins吗?还是可以在不首先安装Jenkins的情况下使用任意机器? 问题答案: 不,您根本不需要在任何从属计算机中安装Jenkins。 如果它是Linux从站,则只需要启用SSH访问即可。如果是Windows计算机,则使用Java并与 Jenkins提供的jar或通过Java Web c

  • 我有一个包含许多JUnit测试的maven项目。它实际上是一个回归测试存储库。所以现在我想构建一个Jenkins的工作来在构建时自动运行回归测试,而不是每次都下载存储库并在IDE中运行所有测试。对此有任何建议或任何链接让我做更多的研究?谢谢!!!

  • 我想为JTree中的每个节点设置一个不同的图标,实际上我是从数据库中加载每个节点,使用“while”,我将每个图标设置为根、叶或父。这样地: 我的所有声明都是全球性的: 这是我设置节点的代码: makeNode方法如下: 在用我的节点填充treemodel之后,我将模型设置为我的JTree: 但问题是。当我尝试设置图标时。我创建了一个名为myTreeRenler的子类,我使用它: 但它没有设置我想

  • 我正在用Java 11和Maven创建一个测试框架,并且我已经为单独的测试构建了两个不同的运行程序。我只想运行一个配置文件,但它一直运行两个配置文件。以下是我的个人资料:

  • 问题内容: 我的项目有3个Maven模块,它们是由nodejs脚本构建的。 现在,我想与Jenkin和Nexus集成。我的Jenkin构建配置如下所示: 我还在“ 构建”* 部分的“ 提供配置文件 构建”步骤中添加了我的Maven ,但这没有用。Maven仍然失败,无法解析我的Nexus回购中的依赖项。 *** 在我的本地专家中,我为Nexus存储库和另一个存储库添加了一些配置。 你能把这种情况告