Jenkins:找不到名为 M3 的工具

Jenkins: no tool named M3 found

在 Jenkins (Jenkins 2.7.2) 中设置管道构建,复制基于 git 构建的示例脚本给出:"no tool named M3 found"。管道脚本中的相关行是:

def mvnHome = tool 'M3'

您需要安装 Maven 才能进行构建。您可以使用 Global Tool Configuration 进行配置并将名称命名为 'M3'

def mvnHome = tool 'M3'

它说 M3 已安装并将 return 值分配给 mvnHome

确保在 hudson.tasks.Maven.xml 中配置了 maven 安装,如下所示,名称为你想要的(我在下面有 MAVEN3),

cat /var/lib/jenkins/hudson.tasks.Maven.xml

<?xml version='1.0' encoding='UTF-8'?>
<hudson.tasks.Maven_-DescriptorImpl>
  <installations>
    <hudson.tasks.Maven_-MavenInstallation>
      <name>MAVEN3</name>
      <home>/usr/share/apache-maven/</home>
      <properties/>
    </hudson.tasks.Maven_-MavenInstallation>
  </installations>
</hudson.tasks.Maven_-DescriptorImpl>

接着jenkins重启

systemctl restart jenkins.service

也可以在UI中验证,

然后,可以在管道脚本中使用相同的变量。

node {
   def mvnHome
   stage('Preparation') {
      git url: 'https://github.com/prayagupd/eccount-rest.git', branch: 'REST-API-load-balancing'
      mvnHome = tool 'MAVEN3'
   }
   stage('Build') {
      sh "'${mvnHome}/bin/mvn' -Dmaven.test.failure.ignore clean package"
   }
   stage('Results') {
      junit '**/target/surefire-reports/TEST-*.xml'
      archive 'target/*.jar'
   }
}