从 Artifactory 下载工件存档

Download artifacts archive from Artifactory

我正在测试 Artifactory 4.2.0 PRO。

真正好的功能是可以通过执行下载构建生成的所有文件的存档,例如:

curl -XPOST -u admin:password -H "Content-Type: application/json"  http://localhost:8081/artifactory/api/archive/buildArtifacts -d '
{
      "buildName": "Vehicle Routing Problem", 
      "buildNumber": "3", 
      "archiveType": "zip"
}' > build.zip

但是,在使用 AQL 指定确切的属性时,我无法找到是否可以执行相同的操作(下载存档)。我一直在尝试上传其他属性与构建推送的属性完全相同的工件,但上面的代码片段并未获取它们(我假设某种元数据存储在某处)。

在不使用许多 HTTP 查询的情况下获取多个工件的可能性有多大?

问候。

Retrieve Folder or Repository Archive API 允许下载一个存档文件(支持 zip/tar/tar.gz/tgz),其中包含驻留在指定路径(文件夹或存储库根目录)下的所有工件。但是它不支持按属性过滤。

Artifactory CLI 支持同时下载多个文件。它还支持下载我们匹配一组 属性 值的文件。但是,CLI 将使用多个 HTTP 请求来执行此操作。

第三种选择是在 JFrogDev GitHub 帐户中开发自定义 user plugin which allows downloading an archive of artifacts matching a set of properties. An execution user plugin can be executed as a REST API call. There is a sample plugin,这可以作为一个很好的起点。此插件允许将目录的内容下载为存档。