Jenkins管道+ Artifactory下载不下载
问题描述:
我无法使用jenkins管道插件从我的artifactory服务器下载构建到我的windows jenkins从属节点。这一切出现会好起来的,但它并没有真正下载文件。难道我做错了什么?Jenkins管道+ Artifactory下载不下载
我看不到任何请求在我的Artifactory系统日志中下载,只是为了上传。
(2017-04-25 18:39:48,096 [http-nio-8081-exec-2] [INFO](oaeUploadServiceImpl:516) - 部署到'BUILDS:windows/5840/build.tar.gz “内容长度:278600525)
我一直在使用这个作为参考:https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=99910084
下面是从我詹金斯管道输出:
For pattern: build.tar.gz 1 artifacts were found.
Deploying artifact: http://myartifactory:8081/artifactory/BUILDS/windows/5840/build.tar.gz
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] timeout
Timeout set to expire in 3 min 0 sec
[Pipeline] {
[Pipeline] node
Running on test-windows-0 in C:/jenkinsroot/workspace/test-windows
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] echo
{
"files": [
{
"pattern": "BUILDS/windows/5840/build.tar.gz",
"target": "download/",
}
]
}
[Pipeline] echo
Artifactory Download: BUILDS/windows/5840/build.tar.gz -> download/
的文件存在于artifactory的。
这里是我的詹金斯代码:
@NonCPS
def downloadArtifactory(String localPath, String repository, String remotePath) {
def downloadSpec = """{
"files": [
{
"pattern": "${repository}/${remotePath}",
"target": "${localPath}",
}
]
}"""
echo "${downloadSpec}"
echo "Artifactory Download: ${repository}/${remotePath} -> ${localPath}"
def server = Artifactory.server("MYARTIFACTORYSERVER")
def buildInfo = server.download spec: downloadSpec
return buildInfo
}
与调用:
downloadArtifactory("download/", "BUILDS", "windows/5840/build.tar.gz")
从你的echo语句看起来你的def downloadSpec正在创建一个名为downloadSpec的空变量。也许在spec语句开头的三重引号会让你感到困惑,你只会得到前两个引号,并将它分配给一个空字符串。 – Tuffwer
@Tuffwer:虽然它似乎在打印downloadSpec变量,不是吗?我使用相同的格式上传。我很困惑:) – Jordan
你是对的我在那里读了额外的回声。在浏览你提到的页面后,我想知道是否需要以不同的方式调用下载。在页面上执行下载的例子是'server.download(downloadSpec)'。 – Tuffwer