Как загрузить контрольную сумму артефакта md5 из подключаемого модуля артефакта конвейера Jenkins

Когда я загружаю файл gz из артефакта в конвейере Jenkins, я хотел бы проверить контрольную сумму md5 для проверки загрузки. Хотя я вижу контрольную сумму в артефактном пользовательском интерфейсе, я не нахожу способ загрузить ее в конвейер Jenkins.

Я использую следующий фрагмент кода для загрузки, и он загружается нормально.

            script {
                def server = Artifactory.server '<myserver>'
                def downloadSpec = """{
                  "files": [
                    {
                      "pattern": "<my artifact>.tar.gz",
                      "target": "tmp/"
                    }
                 ]
                }"""
                server.download(downloadSpec)
            }

Когда я загружаю и.md5, артефакт использует md5, чтобы просто проверить свою собственную контрольную сумму, но не сохраняет md5 в виде отдельного файла.

Я ознакомился с документацией к плагину по адресу https://www.jfrog.com/confluence/display/RTF/Jenkins+Artifactory+Plug-in и API REST https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API и ни один из них не описывает способ загрузки контрольной суммы.

Цени любую помощь

2 ответа

Измените свой server.download(downloadSpec)строка для чтения:

      buildInfo = server.download(downloadSpec)
for ( dep in buildInfo.getDependencies() ) {
    md5 = dep.getMd5()
    // ...
}

Используйте это в конвейере Дженкинса:

-> sh 'md5sum  <filepath> | awk \'{print $1}\''

для создания хеш-чека MD5 для вашего файла.

Ссылка: cmd и сценарий оболочки

Благодарность

Другие вопросы по тегам