一尘不染

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

jenkins

症状

如果我使用所有默认值在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_HOMEM2_HOME类似的环境变量无效。

版本号

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


阅读 855

收藏
2020-07-25

共1个答案

一尘不染

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

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

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

2020-07-25