猿问

詹金斯 - 未找到 mvn

您好,我是詹金斯的新手,遇到了这个问题。我在 Windows azure 中使用詹金斯


mvn clean package /var/lib/jenkins/workspace/vcc@tmp/durable-b5407f14/script.sh: 2: /var/lib/jenkins/workspace/vcc@tmp/durable-b5407f14/script.sh: mvn: 不是成立。

詹金斯文件:


node {

   stage('init') {

      checkout scm

   }

   stage('build') {

      sh '''

         mvn clean package

         cd target

         cp ../src/main/resources/web.config web.config

         cp todo-app-java-on-azure-1.0-SNAPSHOT.jar app.jar 

         zip todo.zip app.jar web.config

      '''

   }

   stage('deploy') {

      azureWebAppPublish azureCredentialsId: env.AZURE_CRED_ID,

      resourceGroup: env.RES_GROUP, appName: env.WEB_APP, filePath: "**/todo.zip"

   }

}

任何人都可以帮助我如何解决这个 mvn 问题。


PS我正在关注本教程 https://docs.microsoft.com/en-us/azure/jenkins/tutorial-jenkins-deploy-web-app-azure-app-service


明月笑刀无情
浏览 120回答 3
3回答

小怪兽爱吃肉

您可以尝试将 maven 工具添加到您的管道中: tools {    maven 'M3'  }  stages {   stage('init') {      checkout scm   }   stage('build') {      sh '''         mvn clean package         cd target         cp ../src/main/resources/web.config web.config         cp todo-app-java-on-azure-1.0-SNAPSHOT.jar app.jar          zip todo.zip app.jar web.config      '''   }   stage('deploy') {      azureWebAppPublish azureCredentialsId: env.AZURE_CRED_ID,      resourceGroup: env.RES_GROUP, appName: env.WEB_APP, filePath: "**/todo.zip"   }}

慕村9548890

您可能想检查 Jenkins 是否安装了 pipeline-maven 插件。如果没有,请搜索并安装 pipeline-maven 插件。安装插件后,您可以按如下方式使用mavennode{    stage('init'){      //init sample    }    stage('build'){        withMaven(maven: 'mvn') {            sh "mvn clean package"        }    }}

HUWWW

我在构建阶段的 sh 命令之前添加了这一行:def mvnHome = tool name: 'Apache Maven 3.6.0', type: 'maven' 而不是 mvn 你应该使用${mvnHome}/bin/mvn感谢这部 youtube 电影对我的帮助。 pipeline{  stage('com'){    def mvnHome = tool name: 'Apache Maven 3.6.0', type: 'maven'    sh "${mvnHome}/bin/mvn -B -DskipTests clean package"  }}
随时随地看视频慕课网APP

相关分类

Java
我要回答