Artifactory-使用Jenkins Pipeline脚本上传

我正在尝试使用Jenkins Pipeline脚本将一些二进制文件上传到Artifactory。我使用了Artifactory

文档中的相同示例,但是它不起作用。我有以下错误:

hudson.remoting.ProxyException: groovy.lang.MissingMethodException: No signature of method: java.lang.String.upload() is applicable for argument types: (java.lang.String) values: [{

"files": [

....

还有另一个类似的问题,但没有回应。

pipeline {

agent any

environment {

def server = Artifactory.server 'art-1'

def uploadSpec = """{

"files": [

{

"pattern": "path/",

"target": "path/"

}

]

}"""

}

stages {

stage('upload') {

steps {

script { server.upload(uploadSpec) }

}

}

}

}

人工工厂5.4.6

回答:

您没有完全正确地使用声明式管道。环境部分不能那样工作。您只能在其中定义字符串,我以为def会引发错误,但显然不会。

您可能最终server等于对Artifactory.server对象的引用的String表示形式。基本上是Artifactory.server.toString()。

试试这个:

pipeline {

agent any

stages {

stage('upload') {

steps {

script {

def server = Artifactory.server 'art-1'

def uploadSpec = """{

"files": [{

"pattern": "path/",

"target": "path/"

}]

}"""

server.upload(uploadSpec)

}

}

}

}

}

以上是 Artifactory-使用Jenkins Pipeline脚本上传 的全部内容, 来源链接: utcz.com/qa/430817.html

回到顶部