[英]Jenkins Multibranch Pipeline - mvn is not recognized as a command
我想為我的 Spring 引導項目設置一個簡單的多分支管道。 我在 Jenkins 中創建了這樣一個多分支管道,連接到我的 GitHub 存儲庫中,我通過一個簡單的步驟推送了一個非常基本的 Jenkinsfile:
pipeline {
agent any
stages {
stage('Build with unit testing') {
steps {
bat 'mvn clean package'
}
}
}
}
但是 Jenkins 似乎不理解 mvn 命令,因為我在構建中收到以下消息:
'mvn' 不是內部或外部命令、可運行程序或批處理文件。
在進入全局工具配置中,我嘗試指定 Maven 安裝,但無論我做什么,此配置似乎都不會持續(我添加了我的 Maven,單擊應用/保存,Z34D1F91FB2E589 再次返回此屏幕並出現,並且 Maven 部分再次為空,僅顯示“Maven 安裝...”按鈕。我想這就是問題所在。我在某處讀到這是一個 Jenkins 錯誤?但真的可以解碼有關如何解決的解決方案這在我的 Jenkinsfile 中)。
你們有什么技巧可以克服這個問題嗎?
謝謝!
根據官方 jenkins 文檔,您需要在工具部分聲明 maven:
pipeline {
agent any
tools {
maven 'Maven 3.3.9'
jdk 'jdk8'
}
stages {
stage ('Initialize') {
steps {
sh '''
echo "PATH = ${PATH}"
echo "M2_HOME = ${M2_HOME}"
'''
}
}
stage ('Build') {
steps {
sh 'mvn clean package'
}
post {
success {
junit 'target/surefire-reports/**/*.xml'
}
}
}
}
}
來源: https://www.jenkins.io/blog/2017/02/07/declarative-maven-project/
我認為你在 windows,所以改變:
sh 'mvn clean package'
至
bat 'mvn clean package'
此外,初始化步驟可以幫助您確定 jenkins 是否配置正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.