【问题标题】:How to use Artifactory Maven Build in Jenkins Pipeline如何在 Jenkins Pipeline 中使用 Artifactory Maven Build
【发布时间】:2017-06-20 11:56:35
【问题描述】:

我正在尝试通过 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 名称匹配,但它仍然不起作用

任何帮助appriciated

【问题讨论】:

    标签: maven jenkins jenkins-pipeline artifactory


    【解决方案1】:

    您似乎在不更改变量的情况下“复制粘贴”了示例。 为了使其正常工作,您需要验证以下内容:

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

      这将是“服务器 ID”下的值。这个值应该被放置在 'Artifactory' 中:

      def server = Artifactory.server 'artifactory'

    2. rtMaven.tool = 'maven tool name' 也应该替换为您在“全局工具配置”中为您安装的 Maven 版本输入的名称。

    完成上述操作后,它应该可以工作。

    【讨论】:

      【解决方案2】:

      看来您使用的是正确的maven tool name,但不是您的工件的正确Server ID

      如果您不确定artifactory serverID,您也可以使用artifactory server address 指定工件。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-04
        • 1970-01-01
        • 2017-09-17
        • 2014-04-21
        • 1970-01-01
        相关资源
        最近更新 更多