jenkins - 如何知道一个工件是否已经存在于 Jfrog Artifactory by Jenkins
问题描述
我正在开发一个 Jenkins 声明式管道。我将版本作为参数,根据该版本,我想在下载之前知道 Jfrog Artifactory 中是否存在特定文件夹。我安装了 Jenkins Artifactory 插件。有没有办法在下载之前知道这些信息?
编辑:我意识到我的问题有点断章取义。最后我想做的是上传一个工件。但是如果工件已经存在,我想给用户一个警告,如果他想继续的话。我想知道是否有解决方案,不同于下载工件以查看它是否存在,根据下载是否成功发出警告,然后上传工件。
解决方案
一个选项是使用 curl 就像您要下载文件一样。但与其提出 GET 请求,不如运行 HEAD 请求。
curl -X HEAD ...
curl --head ...
HEAD 方法与 GET 相同,只是服务器不能在响应中返回消息体。响应 HEAD 请求的 HTTP 标头中包含的元信息应该与响应 GET 请求发送的信息相同。此方法可用于获取有关请求所隐含的实体的元信息,而无需传输实体主体本身。 https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
推荐阅读
- ios - 如何为不同的 ServiceProtocol 使用多线程操作 - Swift
- reactjs - 使用 gatsby 将 Web App 反应到静态网站
- visual-studio - 如何在不加载任何项目的情况下打开 Visual Studio 解决方案 - 默认情况下
- java - 如何使用java检查文件中是否存在字符串?
- arrays - 修改状态中的数组不会渲染到页面
- django - 一个视图中的 2 个应用程序 Django 中的帖子和评论
- javascript - event.preventDefault() 在任何浏览器中都不起作用
- c# - 反射:获取参数Object中实现接口的所有属性
- javascript - 需要一些关于 JS 驱动的搜索框的建议
- python - 使用正则表达式加载、打开和操作 Python 中的文本文件