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' is not recognized as an internal or external command,
operable program or batch file.
进入全局工具配置,我试图在其中指定 Maven 安装,但无论我做什么,此配置似乎都不会持续存在(我添加了我的 Maven,单击 Apply/Save,退出然后再次返回此屏幕,Maven 部分再次为空,仅显示 "Maven installations..." 按钮。我想这就是问题所在。我在某处读到这是 Jenkins 错误?但真的可以解码关于如何在我的 Jenkinsfile 中解决这个问题的解决方案)。
你们有什么技巧可以解决这个问题吗?
谢谢!
根据jenkins官方文档,你需要在tools部分声明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 是否配置正确。
我想为我的 Spring 引导项目设置一个简单的多分支管道。我在 Jenkins 中创建了这样一个多分支管道,连接到我的 GitHub 存储库中,我通过一个简单的步骤推送了一个非常基本的 Jenkinsfile:
pipeline {
agent any
stages {
stage('Build with unit testing') {
steps {
bat 'mvn clean package'
}
}
}
}
但是 Jenkins 似乎不理解 mvn 命令,因为我在构建中收到以下消息:
'mvn' is not recognized as an internal or external command, operable program or batch file.
进入全局工具配置,我试图在其中指定 Maven 安装,但无论我做什么,此配置似乎都不会持续存在(我添加了我的 Maven,单击 Apply/Save,退出然后再次返回此屏幕,Maven 部分再次为空,仅显示 "Maven installations..." 按钮。我想这就是问题所在。我在某处读到这是 Jenkins 错误?但真的可以解码关于如何在我的 Jenkinsfile 中解决这个问题的解决方案)。
你们有什么技巧可以解决这个问题吗?
谢谢!
根据jenkins官方文档,你需要在tools部分声明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 是否配置正确。