Jenkins - 从Artifactory和计算的MD5校验和下载与原始不同

问题描述 投票:0回答:1

我正在研究Jenkins的一个管道,其中一步是从Artifactory下载一个工件。它工作正常,但对于一个工件,我收到一个计算的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会发出警告:有效负载数据结束后有一些数据。

jenkins jenkins-pipeline artifactory
1个回答
0
投票

额外的测试表明Artifactory下载插件损坏了超过100MB的下载,尽管Artifactory服务器配置正确。这种腐败背后的原因,或者是否是插件的错误,尚未建立。

有一种方法可以避免这个问题,因为首先不使用Artifactory下载工件。我通过使用curl来做到这一点。

curl http://URL/artifactory/path/to/artifact/OBFUSCATED.zip --output OBFUSCATED.zip

该插件似乎不会为超过100MB的上传而烦恼,并且它们使用Artifactory插件。

© www.soinside.com 2019 - 2024. All rights reserved.