簡體   English   中英

Jenkins 多分支管道 - mvn 未被識別為命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM