Jenkins(Jenkins 2.7.2)でパイプラインビルドを設定し、gitベースのビルドのサンプルスクリプトをコピーすると、「M3という名前のツールが見つかりません」と表示されます。パイプラインスクリプトの関連する行は次のとおりです。
def mvnHome = tool 'M3'
ビルドを行うには、Mavenのインストールが必要です。 Global Tool Configuration
を使用して設定し、名前を「M3」とすることができます
def mvnHome = tool 'M3'
M3がインストールされていて、戻り値をmvnHomeに割り当てると表示されます
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でも確認できます。
次に、同じ変数をパイプラインスクリプトで使用できます。
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'
}
}