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