繁体   English   中英

Jenkins 检查文件存在于 zip 文件中

[英]Jenkins check file exists inside zip file

有没有办法在不解压缩的情况下检查 zip 文件中是否存在文件。 我正在使用 Artifactory 。 如果使用 curl 不能。 可以给我建议

我在下面试过

 sh(script: "curl -o /dev/null -sf <antifactory url>")

这总是返回成功及以下

unzip -l <file.zip> | grep -q <file name>

这需要安装解压缩

您可以使用 bash 命令unzipgrep

unzip -l my_file.zip | grep -q file_to_search

# Example 
$ unzip -l 99bottles.zip | grep -q 99bottles.pdf && echo $?
0

PS 如果 zip 包含目录结构,则使用文件名的完整路径 grep

本页提到的 Artifactory 7.15.3 开始,存档搜索默认禁用。 你能确认你是否是高于此的版本。 如果是,您可以通过导航到 Admin > Artifactory > Archive Search Enabled 并启用此复选框来启用此功能。 但请注意,如果我们启用此功能,它会不断为每个存档文件将大量信息写入数据库,并可能影响性能。

稍后您可以在 zip 文件中搜索项目。 下面是一个示例命令,我在其中从 curl 的 zip 中搜索 .class 文件。 您可以在 Jenkis 中选择与此类似的选项。

$ curl -uadmin:password -X GET "http://localhost:8082/artifactory/api/search/archive?name=*.class&repos=test" -H "Content-type: application/json"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM