如何在Azure Pipeline中通过JFrog任务下载MD5校验文件
解决Azure Pipeline中JFrogGenericArtifacts@1任务下载校验文件失败的问题
问题原因
JFrogGenericArtifacts@1任务默认的fileSpec配置若不精准,无法匹配Artifactory中通过.md5后缀暴露的校验文件;同时任务默认启用failNoOp参数,当无匹配文件时直接触发失败报错。
可行解决方案
方案1:精准配置fileSpec指定校验文件
在任务的fileSpec中明确写出带.md5后缀的文件路径,确保pattern完全匹配Artifactory中的目标文件,示例配置如下:
- task: JFrogGenericArtifacts@1 inputs: connection: '你的JFrog服务连接名' command: 'download' fileSpec: | { "files": [ { "pattern": "你的仓库名/filename.txt.md5", "target": "$(Build.ArtifactStagingDirectory)/" } ] }
替换配置中的你的仓库名和具体文件路径即可。
方案2:关闭failNoOp避免无匹配时报错(可选)
若场景允许无匹配文件时不触发失败,可在任务中添加failNoOp: false参数,示例配置:
- task: JFrogGenericArtifacts@1 inputs: connection: '你的JFrog服务连接名' command: 'download' fileSpec: | { "files": [ { "pattern": "你的仓库名/*.md5", "target": "$(Build.ArtifactStagingDirectory)/" } ] } failNoOp: false
该配置会下载指定仓库下所有.md5文件,且无匹配时不会报错。
方案3:使用JFrog CLI任务灵活下载
若Generic任务限制较多,可改用JFrog CLI任务执行下载,逻辑与curl方式更接近,示例配置:
- task: JFrogCli@2 inputs: connection: '你的JFrog服务连接名' command: 'download' arguments: '你的仓库名/filename.txt.md5 $(Build.ArtifactStagingDirectory)/'
内容的提问来源于stack exchange,提问作者amka
相关产品推荐
相关产品推荐

