我正在Jenkins上进行开发,其中一个步骤是从Artifactory下载工件。它工作正常,但是对于一个工件,我收到了Calculated MD5 cheksum与原始错误不同。我seen a question没有关于这个问题的真实答案。
重要的事情如下:Jenkins确实下载了工件,但是zip文件比Artifactory上大70MB。如果我使用它在日志中回显的链接手动下载它,则会得到正确的文件。
我的舞台:
stage("Download Artifact"){
def server = Artifactory.server 'MYARTIFACTORYSERVER'
def downloadSpec = """{
"files": [
{
"pattern": "${sourcerepository}/${artifactpath}/${artifactname}/${artifactversion}${versionsuffix}/*${artifactidentifier}.zip",
"target": "artifact-to-sign/"
}
]
}"""
server.download(downloadSpec)
}
我的日志:
Downloading artifacts using pattern: path/to/artifact/*.zip
Beginning to resolve Build Info published dependencies.
Downloading 'http://URL/artifactory/path/to/artifact/OBFUSCATED.zip'...
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
java.io.IOException: Calculated MD5 checksum is different from original, Original: 'CHECKSUM1' Calculated: 'CHECKSUM2'
关于文件大小为何不同的任何线索? zip文件的内容似乎大小相同。解压缩后,内容的校验和与Artifactory相同。
当尝试解压缩时,7zip会发出警告:有效载荷数据结束后还有一些数据。
答案 0 :(得分:0)
其他测试表明,尽管Artifactory服务器配置正确,但Artifactory下载插件破坏了100MB以上的下载。造成这种损坏的原因,或者它是否是插件的错误,尚未确定。
有一种方法可以通过不使用Artifactory来首先下载工件来避免该问题。我通过使用curl来做到这一点。
curl http://URL/artifactory/path/to/artifact/OBFUSCATED.zip --output OBFUSCATED.zip
该插件似乎并不为上传100MB以上的内容而苦苦挣扎,并且可以使用Artifactory插件来工作。