首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Jenkins管道中没有设置Maven工具

在Jenkins管道中没有设置Maven工具
EN

Stack Overflow用户
提问于 2017-03-09 09:49:31
回答 3查看 33.4K关注 0票数 14

我有这个阶段在我的詹金斯准备:

代码语言:javascript
运行
复制
   stage('Build') {
       def mvnHome = tool 'M3'
       sh '''for f in i7j-*; do
                 (cd $f && ${mvnHome}/bin/mvn clean package)
             done
             wait'''
   }

在Jenkins中,管理Jenkins全球工具配置,我有一个名为M3,version 3.3.9的Maven安装。

当运行这个管道时,mvnHome是空的,因为我在日志中得到了这个:

代码语言:javascript
运行
复制
+ /bin/mvn clean install -Dmaven.test.skip=true
/var/lib/jenkins/jobs/***SNIP***/script.sh: 3: /var/lib/jenkins/jobs/***SNIP***/script.sh: /bin/mvn: not found

我确实在Jenkins服务器上找到了一个路径/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/M3,它可以工作,但是我不希望在这个脚本中使用硬编码的路径。

我该怎么解决这个问题?

编辑answer的摘要,使用toolwithEnv

我现在的工作代码是:

代码语言:javascript
运行
复制
   stage('Build') {
        def mvn_version = 'M3'
        withEnv( ["PATH+MAVEN=${tool mvn_version}/bin"] ) {
        sh '''for f in i7j-*; do
                (cd $f && mvn clean package -Dmaven.test.skip=true -Dadditionalparam=-Xdoclint:none  | tee ../jel-mvn-$f.log) &
              done
              wait'''
        }
   }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-09 11:00:32

您可以在Jenkinsfile中使用您的工具和toolwithEnv片段。

应该是这样的:

代码语言:javascript
运行
复制
def mvn_version = 'M3'
withEnv( ["PATH+MAVEN=${tool mvn_version}/bin"] ) {
  //sh "mvn clean package"
}
票数 13
EN

Stack Overflow用户

发布于 2017-12-24 06:03:33

最简单的方法应该是使用tools指令:

代码语言:javascript
运行
复制
pipeline {
  agent any
  tools {
    maven 'M3'
  }
  stages {
    stage('Build') {
      steps {
        sh 'mvn -B -DskipTests clean package'
      }
    }
  }
}

M3是在全局工具配置中预先配置的名称,请参见docs:https://jenkins.io/doc/book/pipeline/syntax/#tools

票数 10
EN

Stack Overflow用户

发布于 2017-03-09 09:54:37

如何使用构造:

代码语言:javascript
运行
复制
withMaven(mavenOpts: MAVEN_OPTS, maven: 'M3', mavenLocalRepo: MAVEN_LOCAL_REPOSITORY, mavenSettingsConfig: MAVEN_SETTINGS) {
    sh "mvn ..."
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42691946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档