2016-08-31 25 views
7

Konfiguracja kompilacji potoku w Jenkins (Jenkins 2.7.2), skopiowanie przykładowego skryptu dla kompilacji opartej na git daje: "nie znaleziono żadnego narzędzia o nazwie M3". Odpowiednia linia w skrypcie Pipeline to:Jenkins: brak narzędzia o nazwie M3 znalezionego

def mvnHome = tool 'M3' 

Odpowiedz

8

Musisz mieć dostęp do instalacji Maven, aby budować. można skonfigurować za pomocą Global Tool Configuration i podać nazwę jako „M3”

def mvnHome = tool 'M3' 

mówi zainstalowano M3 i przypisuje wartość powrotną do mvnHome

+0

Tak, to było to! Miałem zainstalowany Maven 3.0, ale musiałem zmienić jego nazwę na "M3", żeby działał. –

1

upewnić się, że instalacja Maven jest skonfigurowany w hudson.tasks.Maven.xml jak poniżej z nazwy chcesz (mam MAVEN3 poniżej)

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> 

Obserwowani przez Jenkinsa restart

systemctl restart jenkins.service 

Może być zweryfikowane w interfejsie użytkownika, jak również,

maven installation name

Następnie sama zmienna może być używany w skrypcie rurociągu.

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