Jenkins - загрузка из Artifactory и вычисленной контрольной суммы MD5 отличается от оригинальной - PullRequest
0 голосов
/ 14 февраля 2019

Я работаю над конвейером на Дженкинсе, на котором нужно скачать артефакт из Артефактора.Работало нормально, но за один артефакт я получаю чексум Calculated MD5, отличный от исходной ошибки.Я видел вопрос без реального ответа по этому вопросу.

Важно следующее: Jenkins действительно загружает артефакт, но размер zip-файла на 70 МБ больше, чем он естьArtifactory.Если я загружаю его вручную, используя ссылку, отраженную в журналах, я получаю правильный файл.

Мой этап:

    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 выдает предупреждение: Есть некоторые данные после окончания данных полезной нагрузки .

1 Ответ

0 голосов
/ 21 февраля 2019

Дополнительное тестирование показало, что плагин загрузки Artifactory повредил загрузку свыше 100 МБ, несмотря на правильную настройку сервера Artifactory.Причина такого повреждения, или это ошибка в плагине, или нет, не установлена.

Есть способ избежать проблемы, не используя Artifactory для загрузки артефакта в первую очередь.Я делаю это с помощью curl.

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

Плагин, похоже, не борется за загрузку более 100 МБ, и они работают с использованием плагина Artifactory.

...