La configuration d'une génération de Pipeline dans Jenkins (Jenkins 2.7.2), la copie de l'exemple de script pour une génération basée sur git donne: "aucun outil nommé M3 trouvé". La ligne appropriée dans le script Pipeline est:
def mvnHome = tool 'M3'
Vous devez avoir l'installation de Maven disponible pour faire des builds. Vous pouvez configurer en utilisant Global Tool Configuration
et donnez le nom 'M3'
def mvnHome = tool 'M3'
Il indique que M3 est installé et attribue la valeur de retour au mvnHome
assurez-vous que l'installation de maven est configurée dans hudson.tasks.Maven.xml
comme ci-dessous avec le nom que vous voulez (j'ai MAVEN3
au dessous de),
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>
Suivi du redémarrage de jenkins
systemctl restart jenkins.service
Il peut également être vérifié dans l'interface utilisateur,
Ensuite, la même variable peut être utilisée dans le script de pipeline.
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'
}
}