如何在 Jenkins 流水线中使用 Artifactory Maven 构建

How to use Artifactory Maven Build in Jenkins Pipeline

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

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 tool name" 与我的 jenkins 工具中的 maven 名称匹配,但它仍然不起作用

任何帮助都适用

您似乎 "copy paste" 没有更改变量的示例。 为了使其正常工作,您需要验证以下内容:

  1. 您需要在 Jenkins 系统配置页面中检查 Artifactory 实例的名称是什么。该名称是您在 Jenkins 中配置 Artifactory 后为其命名的。

    这将是 'Server ID' 下的值。此值应放置在 'Artifactory' 中:

    def server = Artifactory.server 'artifactory'

  2. rtMaven.tool = 'maven tool name' 也应替换为您在 "Global Tool Configuration" 中为您安装的 Maven 版本输入的名称。

完成上述操作后,应该就可以了。

看来您使用的是正确的 maven tool name 而不是正确的 Server ID 您的人工制品。

如果您不确定 artifactory serverID,您也可以使用 artifactory server address.

指定工件
  def server = Artifactory.newServer url: 'YOUR_ARTIFACTORY_URL', username: 'ARTIFACTORY_USERNAME', password: 'ARTIFACTORY_PASSWORD'