如何在Jenkins管道中使用Artifactory Maven构建

时间:2017-06-20 11:56:36

标签: maven jenkins jenkins-pipeline artifactory

我正在尝试通过artifactory maven将我的构建工件发布到我的神器服务器。

stage("${buildType} publish to Artifactory") {
        def server = Artifactory.server 'artifactory'
        def rtMaven = Artifactory.newMavenBuild()
        rtMaven.resolver server: server, releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot'
        rtMaven.deployer server: server, releaseRepo: 'libs-release-local', snapshotRepo: 'libs-release-local-SNAPSHOT'
        rtMaven.tool = 'maven tool name'
        def buildInfo = rtMaven.run pom: 'pom.xml', goals: 'clean package -Dskip.unit.tests=true -Dskip.integration.tests=true'
        server.publishBuildInfo buildInfo
    }

但是约会以

失败了

ERROR: Couldn't find Maven executable.

我试图匹配" maven工具名称"在我的jenkins工具中使用maven的名称,但它仍然无法正常工作

任何有用的帮助

2 个答案:

答案 0 :(得分:1)

似乎你"复制粘贴"这个例子没有改变变量。 为了使其工作,您需要验证以下内容:

  1. 您需要检查Jenkins系统配置页面中Artifactory实例的名称。这个名字是你在詹金斯配置Artifactory后给它的东西。

    这将是'服务器ID'下的值。这个值应该放在' Artifactory'在:

    def server = Artifactory.server 'artifactory'

  2. rtMaven.tool = 'maven tool name'也应替换为您在"全球工具配置"中输入的名称。对于您安装的Maven版本。
  3. 一旦完成上述操作,这应该可行。

答案 1 :(得分:0)

您似乎正在使用正确的maven tool name但不是正确的Server ID您的神器。

如果您对artifactory serverID不确定,可以使用artifactory server address指定项目。

  def server = Artifactory.newServer url: 'YOUR_ARTIFACTORY_URL', username: 'ARTIFACTORY_USERNAME', password: 'ARTIFACTORY_PASSWORD'