当前位置 : 首页 » 互动问答 » 正文

Artifactory - 使用Jenkins Pipeline脚本上传

分类 : 互动问答 | 发布时间 : 2018-04-27 16:16:04 | 评论 : 1 | 浏览 : 135 | 喜欢 : 0

我试图通过使用Jenkins管道脚本将一些二进制文件上传到Artifactory。 我使用了与Artifactory 文档相同的示例,但它不起作用。 我有以下错误:

 hudson.remoting.ProxyException:groovy.lang.MissingMethodException:没有方法的签名:java.lang.String.upload()适用于参数类型:(java.lang。字符串)值:[{
              “文件”:[
                       ....

还有另一个类似的question,但没有响应...

 pipeline {
    代理任何
    环境 {
        def server = Artifactory.server'art-1'
        def uploadSpec =“”“{
              “文件”:[
                {
                   “模式”:“路径/”,
                    “目标”:“路径/”
                }
             ]
            } “””

    }
    阶段{
        舞台('上传'){
           脚步 {
              脚本{server.upload(uploadSpec)}

            }
        }
    }
}

Artifactory 5.4.6

回答(1)

  • 1楼
  • 您没有正确使用声明式管道。环境部分不能像那样工作。你只能在那里定义字符串,我会认为def会抛出一个错误,但显然不是。

    您很可能以server结束与Artifactory.server对象的引用的String表示形式相等。基本上Artifactory.server.toString()。

    Try this:

     pipeline {
        代理任何
    
        阶段{
            舞台('上传'){
               脚步 {
                  脚本{
                     def server = Artifactory.server'art-1'
                     def uploadSpec =“”“{
                        “文件”:[{
                           “模式”:“路径/”,
                           “目标”:“路径/”
                        }]
                     } “””
    
                     server.upload(uploadSpec)
                   }
                }
            }
        }
    }

相关阅读: