AQL和JFrog CLI:天作之合

使用JFrog Artifactory运行构建的最大优势之一是详尽的构建信息,这些信息由许多来源创建,并在您的组织中使用。然而,随着组织的不断发展,有效地利用和管理这些数据变得至关重要。很容易就会耗尽宝贵的存储空间,而没有真正受益于那里的东西,也没有摆脱不再需要的东西。
这篇博文提供了一些关于如何有效利用现有Artifactory存储库数据、保持高性能、响应时间和管理存储使用的有见地的技巧人工查询语言(AQL)与JFrog CLI.
一组相互连接的域
在深入示例之前,让我们快速浏览一下AQL架构.
AQL由一组相互连接的域构成,您可以在其中一次对一个域运行查询。这被称为主域的查询,它可以在项(工件),构建,条目,以及促销活动.
您可以使用来自其他域的字段作为搜索条件的一部分,或者指定要在输出中显示的字段。

为了方便起见,除了指定完整的规范表示法外,AQL还支持短的符号.例如,可以用以下两种方式编写查询,以查找具有名为“license”且值等于“GPL”的关联属性的项。
常规的符号
items.find @artifactory({”。许可证":{"$eq": "GPL"}})
短的符号
items.find @artifactory({”。“GPL”})
使用AQL和JFrog CLI进行高级清理
下面的示例演示如何创建有意义的查询,然后可以将其用于JFrog CLI.更具体地说,这个查询的目标是存储问题,通过识别Artifactory存储库中没有使用的工件,可以使用有效的清理来解决。通过使用AQL查询指定这些工件,JFrog CLI可以用于从Artifactory删除这些工件。
让我们构建AQL查询
我们希望查询返回:
- 来自任何名为Artifactory的构建的所有名为“Artifactory.jar”的存档条目,
- 521号建筑,
- 哪个是用户jenkins-builder创建的最大的100个文件,
- 使用tar, zip或RPM扩展,
- 从来没有被下载过,
- 文件大小大于100mb,
- 并且被标记为“qa=approved”属性。
下面就是:
物品。找到({“类型”:“文件”、“created_by”:“jenkins-builder”、“大小”:{$ gt:“100000000”},“stat.downloads”:{零}" $ eq”:,“@qa”:“批准”,“或“美元:[{"名称":{" $匹配":" * . tar "}}, {" name ":{" $匹配”:“* . zip”}},{"名称":{" $匹配”:“*。rpm "}} ] } ) . 排序({“美元desc”:(“大小”、“名称”)}).limit (100)
让我们使用JFrog CLI的AQL查询
一旦指定了查询的确切细节,就可以将其嵌入到JFrog CLI命令中,例如删除文件.该命令将从Artifactory中删除这些不必要的文件。
在我们继续删除工件之前,最好先执行一次演练并模拟执行。此功能可通过“排练命令选项,或者您甚至可以安全地使用CLI搜索命令。
JFrog CLI也适用于JFrog任务控制中心,JFrog BintrayJFrog x射线也计划集成。
管理工件的过去、现在和未来
这就是AQL的精髓。通过提供这样一种极其灵活的语言,允许您指定任意数量的搜索条件,以任何逻辑配置组合,使用任意一组过滤器并显示任意一组输出字段,我们不仅可以满足我们曾经收到的任何请求,还可以满足任何人还没有梦想过的任何未来请求。JFrog CLI提供了一个简单的界面,可以自动访问JFrog产品,这简直是天作之合,使您的脚本更加高效和可靠!hth华体会最新官方网站
了解更多JFrog CLI
了解更多AQL

