web-dev-qa-db-ja.com

ジェンキンス:M3という名前のツールが見つかりません

Jenkins(Jenkins 2.7.2)でパイプラインビルドを設定し、gitベースのビルドのサンプルスクリプトをコピーすると、「M3という名前のツールが見つかりません」と表示されます。パイプラインスクリプトの関連する行は次のとおりです。

def mvnHome = tool 'M3'
10
hack_on

ビルドを行うには、Mavenのインストールが必要です。 Global Tool Configurationを使用して設定し、名前を「M3」とすることができます

def mvnHome = tool 'M3'

M3がインストールされていて、戻り値をmvnHomeに割り当てると表示されます

17
ravthiru

mavenインストールがhudson.tasks.Maven.xmlに以下のように希望の名前で設定されていることを確認してください(以下に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 restart

systemctl restart jenkins.service

UIでも確認できます。

maven installation name

次に、同じ変数をパイプラインスクリプトで使用できます。

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'
   }
}
2
prayagupd