[英]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 命令unzip
和grep
。
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.