JFrog命令行两端工作文件

自从JFrog CLI在大约一年前推出以来,它在CI社区中的受欢迎程度直线上升。当我们询问用户他们最喜欢JFrog CLI的什么时,我们得到的信息很清楚:

简单、原生、高效。

简单:它使用起来简单直观,并且只需要几分钟就能上手。

本机:它被打包为本机可执行文件,因此不依赖于任何其他工具(Java、Ruby、Node等)来运行它。

高效:它在网络层面上非常高效,并且经过优化,可以与支持校验和上传、范围下载、并行执行、优化的AQL查询等的JFrog产品一起工作。hth华体会最新官方网站

然而,还有一个不断出现的特性请求,我们已经将其包含在最新版本的JFrog CLI v1.5中。

文件规格

JFrog CLI非常适合操作文件。将所有ZIP文件从文件系统中的某个位置上载到Artifactory中的存储库,只需使用一个通配符的简单命令即可完成:

> jfrog rt u "/my-local-path/*.zip" my-repo/path

当然,您还可以使用占位符使目标路径动态,或者使用正则表达式或属性来组装不同的文件集合。但是,无论你如何聪明地移动文件,你一次只能完成一项基本任务。用户告诉我们,他们希望用一个基本命令完成几个任务,比如将一组文件移动到一个存储库,将另一组文件移动到另一个存储库。现在,您可以使用File Specs通过一个基本命令完成任意数量的任务。

文件规范是一个JSON文件,它为JFrog CLI命令指定命令行选项和参数。有一个模式下载、复制和移动命令,另一个上传的第三个模式搜索和删除命令。

多文件集

假设您想从Artifactory下载三组文件。每组文件都有不同的特征,因此需要下载到不同的位置。例如,下载zip文件到“zip”目录,下载tar.gz文件到“tgz”目录,等等。您可以在不使用File Specs的情况下,通过多次运行CLI来解决这个问题,但是这样就会失去并行执行的优势,因为CLI进程在每次执行后都会停止。当你处理大量文件,并希望确保下载、上传、复制、移动、搜索或删除操作尽可能优化时,这一点就变得非常重要。
文件规范的最大优点是,现在您可以为同一个命令定义任意数量的规范,以处理不同的文件集。要完成前面示例中描述的下载,您可以使用以下文件规范:

{“文件”:[{"pattern": "my-repo/*.zip",“目标”:“文件/ zip /”},{"pattern": "my-repo/*.tar.gz",“目标”:“文件/ tar.gz /”},{"pattern": "my-repo/*.gzip",“目标”:“文件/ gzip /”}}

版本控制

文件规范的另一个方便的副产品是,由于您的规范现在是简单的文本文件,因此可以使用您附近的源代码控制系统对它们进行存储和版本控制。

全民AQL

最后,文件规范最大限度地发挥了灵活性,允许您指定要使用的文件人工查询语言(AQL)例如,假设您希望移动与特定构建范围相关的所有文件,或者组合复杂的搜索条件以获得您所需要的内容。这些是只有AQL才能处理的文件集。

因此,尽管JFrog CLI已经很简单,但它只是变得更简单和更强大,但这还不是全部。JFrog CLI现在可以为您提供构建信息。阅读如何获得完全可追踪的构建无论您使用的是哪种构建工具。

准备好尝试一下了吗?下载JFrog命令行