簡體   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