需要其他JFrog产品的帮助?hth华体会最新官方网站

JFrog平台
JFrog Artifactory
JFrog x光
JFrog任务控制中心
JFrog分布
(JFrog管道)
JFrog访问


页面树
跳到元数据的末尾
进入元数据的开始

概述

介绍如何与JFrog Artifactory一起使用JFrog CLI。

阅读更多关于JFrog CLI的信息在这里


环境变量

Artifactory upload命令使用了以下环境变量:

变量名
描述
JFROG_CLI_MIN_CHECKSUM_DEPLOY_SIZE_KB

(默认值:10)

JFrog CLI执行校验和部署优化的最小文件大小(KB)。

JFROG_CLI_EXTRACTORS_REMOTE

已配置的Artifactory服务器ID(由“jfrog c add命令”配置)和存储库名称,从中下载“jf mvn”和“jf gradle”命令所需的jar。该环境变量的值格式为<服务器ID>/。存储库应该进行代理https://releases.jfrog.io/artifactory/oss-release-local

JFROG_CLI_DEPENDENCIES_DIR

(默认值:$ JFROG_CLI_HOME_DIR /依赖关系

定义JFrog CLI的内部依赖被下载到的目录。

JFROG_CLI_REPORT_USAGE

(默认值:真实)

设置为false,阻止JFrog CLI向Artifactory发送使用统计信息。

JFROG_CLI_BUILD_NAME

除非作为命令参数或选项发送,否则由需要生成名称的命令使用的生成名称。

JFROG_CLI_BUILD_NUMBER

除非作为命令参数或选项发送,否则由需要生成号的命令使用的生成号。

JFROG_CLI_BUILD_PROJECT
JFrog项目的关键字将被需要构建名称和构建号的命令所使用。确定已发布构建的项目。
JFROG_CLI_BUILD_URL

在构建信息中设置CI服务器构建URL。"jf rt build-publish"命令使用该环境变量的值,除非发送了——build-url命令选项。

JFROG_CLI_ENV_EXCLUDE

(默认值:*密码*、*秘密* *键*,*标记*)

“value1;value2;…”形式的不区分大小写的模式列表。匹配这些模式的环境变量将被排除。在没有发送——env-exclude命令选项的情况下,"jf rt build-publish"命令使用这个环境变量。

JFROG_CLI_TRANSITIVE_DOWNLOAD_EXPERIMENTAL

(默认值:false)

“jf rt download”命令使用。设置为true也可从远程存储库下载工件。该特性是实验性的,在Artifactory 7.17.0或更高版本上可用。”

有关其他环境变量的详细信息,请参阅欢迎来到JFrog CLI页面。


身份验证

当与Artifactory一起使用时,JFrog CLI提供了几种身份验证方法:JFrog CLI不支持未经身份验证访问Artifactory。

使用用户名和密码/ API密钥进行认证

要使用JFrog登录凭据进行身份验证,请使用Jf c add命令或者为每个命令提供以下选项。

命令选项

描述

url—— JFrog Artifactory API端点URL。它通常以/artifactory结尾
——用户 JFrog用户名
——密码 JFrog密码或API密钥

为了增强安全性,当JFrog CLI配置为使用用户名和密码/ API密钥时,它会自动生成一个访问令牌向Artifactory进行身份验证。生成的访问令牌有效期仅为1小时。JFrog CLI在令牌过期前自动刷新令牌。的c add命令允许禁用此功能。使用外部工具或包管理器或与JFrog发行版一起工作的命令目前不支持此特性。

使用访问令牌进行身份验证

若要使用Artifactory访问令牌进行身份验证,请使用Jf c add命令或者为每个命令提供以下选项。

命令选项

描述

url—— JFrog Artifactory API端点URL。它通常以/artifactory结尾
——访问令牌 JFrog访问令牌

使用RSA密钥进行验证

目前,在使用外部包管理器和构建工具(Maven、Gradle、Npm、Docker、Go和NuGet)或cUrl集成时,不支持使用RSA密钥进行身份验证。

从4.4版开始,Artifactory支持使用RSA公钥和私钥进行SSH身份验证。使用RSA密钥进行Artifactory的身份验证,请执行以下命令:

  • 开启SSH认证,具体操作请参见配置SSH
  • 配置您的Artifactory URL为以下格式:ssh: / /(主持人):(港口)
    有两种方法

    • 对于每个命令,使用url——命令选项。
    • 属性以正确的格式指定Artifactory URLc add命令。

    不要包含你的Artifactory上下文URL

    确保URL的[host]组件只包括主机名或IP,而不包括您的Artifactory上下文URL。

  • 配置SSH密钥文件的路径。有两种方法:
    • 对于每个命令,使用——ssh-key-path命令选项。
    • 属性指定路径c add命令。

使用客户端证书进行身份验证(mTLS)

从Artifactory 7.38.4版本开始,您可以使用客户端客户端证书对用户进行身份验证mtl.要做到这一点,需要一个反向代理,并在前端反向代理(Nginx)上进行一些设置。阅读如何设置这个在这里

若要使用客户端证书向代理进行身份验证,请使用Jf c add命令或使用——client-cert-path而且——client-cert-ket-path每个命令的命令选项。

与包管理器集成的命令不支持使用客户机证书(mTLS)进行身份验证。


不使用公共CA(证书颁发机构)?

如果您没有使用公共CA(证书颁发机构)颁发用于连接到您的Artifactory域的SSL证书,那么本节将与您相关。您可能没有使用公共CA,因为您使用的是自签名证书,或者您在内部运行自己的PKI服务(通常使用Microsoft CA)。

在这种情况下,您需要将这些证书放在JFrog CLI中安全/确实的事情目录,在JFrog CLI的主目录下。缺省情况下,主目录为~ / .jfrog,但也可以使用JFROG_CLI_HOME_DIR环境变量。

  1. 支持的证书格式为PEM。
  2. 一些命令支持——insecure-tls选项,该选项将跳过TLS证书验证。
  3. 在1.37.0版本之前,JFrog CLI希望证书直接位于安全目录中。当安装1.37.0或更高版本时,JFrog CLI会自动将证书移动到新目录。降级回旧版本需要手动替换配置目录。你会发现一个备份,如果旧的配置.jfrog /备份

页面内容


在Artifactory中存储符号链接

JFrog CLI允许您从本地文件系统上传和下载工件到Artifactory,这也包括上传符号链接(软链接)。

符号链接在Artifactory中存储为零大小的文件,具有以下属性:
symlink.dest—符号链接所指向的原始文件系统的实际路径
symlink.destsha1的SHA1校验和symlink.dest财产

要上传符号链接,请使用上传的命令应该使用——符号链接选项设置为true。

当下载存储在Artifactory中的符号链接时,CLI可以验证符号链接指向的文件是否实际存在,并且它具有正确的SHA1校验和。要添加此验证,应该使用——validate-symlinks选项中的下载命令


使用占位符

JFrog CLI提供了巨大的灵活性下载、上传复制,或移动文件通过使用通配符或带有占位符的正则表达式。

源路径中括号内的任何通配符都可以与目标路径中相应的占位符相匹配,以确定一旦上传的工件的名称。

例子

例1:上传所有文件到目标存储库

对于源目录中的每个.tgz文件,在目标存储库中创建一个具有相同名称的相应目录,并将其上传到那里。例如,一个名为froggy.tgz应上传至my-local-rep /不好的.(不好的将在Artifactory中创建一个文件夹)。

$ jf rt u”(*)。tgz" my-local-repo/{1}/ --recursive=false
例2:将所有共享相同前缀的文件上传到目标存储库

上传所有名称以“frog”开头的文件到文件夹frogfiles在目标存储库中,但将其名称与文本“up”附加。例如,一个名为froggy.tgz应该重新命名froggy.tgz-up。

$ jf u "(frog*)" my-local-repo/frogfiles/{1} up——recursive=false
例3:根据扩展类型将所有文件上传到相应的目录下

将当前目录下的所有文件上传到my-local-repo存储库,并将它们放在与其文件扩展名匹配的目录中。

$ jf rt u "(*).(*)" my-local-repo/{2}/{1}。{2}——递归= false
示例4:将所有zip文件复制到目标存储库并附加一个扩展名。

复制/rabbit目录下的所有zip文件source-frog-repo存储库中的相同路径target-frog-repo存储库,并将复制的文件名称附加为“.cp”。

Jf rt cp "source-frog-repo/rabbit/(*.zip)" target-frog-repo/rabbit/{1}.cp

将军的命令

下面将介绍JFrog CLI中可用于Artifactory的命令。

验证Artifactory是可访问的

该命令可以通过向Artifactory发送应用程序ping来验证Artifactory是否可访问。

命令名
rt平
缩写
rt p


命令选项

url——

(可选)

Artifactory URL。

——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的Artifactory服务器。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

命令参数
该命令不接受参数。

例子

示例1

Ping配置的默认Artifactory服务器。

$ jf rt ping


示例2

使用ID Ping配置的Artifactory服务器rt-server-1

$ jf rt ping——server-id=rt-server-1


示例3

Ping Artifactory服务器。可以通过指定的URL访问。

$ jf rt ping——url=http://my-rt-server.com/artifactory

上传文件

该命令用于上传文件到Artifactory。

命令名
rt上传
缩写
rt u
命令选项

当使用*或;字符在上传命令选项或参数时,请务必将整个选项或参数字符串用引号(")包装起来,以确保*或;字符不被解释为字面量。

——档案

(可选)

设置为“zip”,将文件打包并部署到一个zip归档文件中的Artifactory。目前,唯一支持的打包格式是zip。

——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的Artifactory服务器。

——规范

(可选)

文件规范的路径。有关详细信息,请参阅使用文件规格

——spec-vars

(可选)

要在文件规范中替换的"key1=value1;key2=value2;…"形式的变量列表。在文件规范中,变量的使用方法如下:

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——target-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号(;)分隔附在上传的文件上。如果任意键可以取多个值,则每个值用逗号分隔。例如,“key1=value1;key2=value21,value22;key3=value3”。

——黛比

(可选)

仅用于Debian包。指定包的分发/组件/体系结构。如果分布、组件或体系结构的值包含斜杠。斜杠应该用反斜杠来转义。

——平

(默认值:false)

如果为true,文件将被上传到指定的目标路径,并且它们在源文件系统中的层次结构将被忽略。

如果为false,则将文件上传到目标路径,同时保持其文件系统层次结构。

如果占位符,则忽略此选项的值。

JFrog CLI v1

在JFrog CLI v1中,——flat选项的默认值为true。

——递归

(默认值:真实)

如果为true,也会从源目录的子文件夹中收集文件进行上传。

如果为false,则只上传源目录下的文件。

——regexp

(默认值:false)

如果为真,该命令将第一个参数解释为正则表达式,该参数描述了要上传的工件的本地文件系统路径。

如果为false,它将第一个参数解释为通配符表达式。

上述内容也适用于——exclements选项。

如果指定使用正则表达式,则表达式的开头必须用圆括号括起来。例如:a / b / c / (. *) / file.zip

——蚂蚁

(默认值:false)

如果为真,该命令将第一个参数解释为ANT模式,该参数描述了要上传的工件的本地文件系统路径。

如果为false,它将第一个参数解释为通配符表达式。

上述内容也适用于——exclements选项。

——线程

(默认值:3)

应该用来上传的并行线程数,每个线程一次上传一个工件。

——即将

(默认值:false)

如果为真,该命令仅指示将上传哪些工件

如果为false,则完全执行该命令并上传指定的工件

——符号链接

(默认值:false)

如果为真,该命令将保留Artifactory中的软链接结构。的符号链接文件表示将包含符号链接和校验和属性。

——爆炸

(默认值:false)

如果为真,该命令将在部署到Artifactory后提取包含多个工件的存档,同时维护存档的文件结构。

——include-dirs

(默认值:false)

如果为true,则源路径适用于底层链目录,而不仅仅适用于文件。按钮链目录要么为空,要么不包含与源路径匹配的其他目录。

——除外

(可选)

以分号分隔的排除模式列表。一个low使用通配符、正则表达式或ANT模式,根据-的值正则表达式而且——蚂蚁选项。请细阅——regexp而且——蚂蚁选项描述以获取更多信息。

——sync-deletes

(可选)

在Artifactory中的特定路径,上传后在该路径下同步工件。在上传之后,该路径将只包括在此上传操作期间上传的工件。该路径下的其他文件将被删除。

——安静

(默认值:false)

如果为true,则跳过删除确认消息。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——重试

(默认值:3)

上传重试次数。

——retry-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结尾。

——详细介绍

(默认值:false)

设置为true,将受影响文件的列表作为命令输出摘要的一部分。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

命令参数

该命令有两个参数。

在使用——spec选项的情况下,命令不接受参数。

源路径

第一个参数指定应该上传到Artifactory的工件的本地文件系统路径。属性指定的通配符或正则表达式,可以指定多个工件——regexp命令选项。请细阅——regexp选项描述以获取更多信息。

目标路径

第二个参数指定Artifactory中的目标路径,格式如下:[repository_name] / [repository_path]

如果目标路径以斜杠结束,则假定该路径为文件夹。例如,如果您指定目标为“repo-name/a/b/”,那么“b”被假定为Artifactory中的一个文件夹,文件应该上传到该文件夹中。如果没有终端斜杠,则假定目标路径是上传文件需要重命名到的文件。例如,指定目标为“repo-name/a/b”,则在Artifactory中将上传的文件重命名为“b”。

为了灵活地指定上传路径,您可以包含{1}、{2}形式的占位符,这些占位符由括号括起来的源路径中的相应令牌替换。详情请参阅使用占位符

例子

示例1

上传一个名为froggy.tgz究其根源my-local-repo存储库。

你青蛙。tgz my-local-repo
示例2

收集目录下的所有zip文件构建目录(包括子目录),并上传到my-local-repo存储库,在zipFiles文件夹,同时保持文件的原始名称。

$ jf rt u "build/*.zip" my-local-repo/zipFiles/
示例3

收集目录下的所有zip文件构建目录(包括子目录),并上传到my-local-repo存储库,在zipFiles文件夹,同时保持文件的原始名称。中的所有文件也要删除my-local-repo存储库,在zipFiles文件夹,除了通过该命令上传的文件。

$ jf rt u "build/*.zip" my-local-repo/zipFiles/——sync-delete ="my-local-repo/zipFiles/"
示例4

收集下的所有文件构建目录(包括子目录),并上传到my-release-local存储库,在文件文件夹,同时保持工件的原始名称。排除(不上传)文件,其中包括安装作为他们人生道路的一部分,并拥有扩展。本例使用通配符模式。看到示例5,它使用正则表达式代替。

Jf rt u "build/" my-release-local/files/——exclusions="*install*pack*"
示例5

收集下的所有文件构建目录(包括子目录),并上传到my-release-local存储库,在文件文件夹,同时保持工件的原始名称。排除(不上传)文件,其中包括安装作为他们人生道路的一部分,并拥有扩展。本例使用正则表达式。看到示例4,它使用通配符模式代替。

Jf rt u "build/" my-release-local/files/——regexp——exclusions="(.*)install.*pack$"
例子6

收集下的所有文件构建目录并匹配* * / * . zipANT模式,并将它们上传到my-release-local存储库,在文件文件夹,同时保持工件的原始名称。

“build/**/*.zip”my-release-local/files/——ant
例7

文件下的所有文件打包构建目录(包括子目录)导入一个名为archive.zip,并将存档文件上传到my-local-repo库,

$ jf rt u "build/" my-local-repo/my-archive.zip——archive zip

下载文件

该命令用于从Artifactory下载文件。

远程下载

默认情况下,该命令只下载缓存在当前Artifactory实例上的文件。它不通过远程或虚拟存储库下载位于远程Artifactory实例上的文件。要允许命令从远程Artifactory实例(通过使用远程存储库进行代理)下载文件,请设置JFROG_CLI_TRANSITIVE_DOWNLOAD_EXPERIMENTAL环境变量为真正的.该功能需要Artifactory的7.17或更高版本。

远程下载功能只支持远程存储库,而这些存储库是远程Artifactory实例上的代理存储库。不支持通过代理非Artifactory存储库的远程存储库下载。

命令名
rt下载
缩写
rt dl
命令选项

当使用*或;字符在下载命令选项或参数时,请务必将整个选项或参数字符串用引号(")包装起来,以确保*或;字符不被解释为字面量。

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——规范

(可选)

文件规范的路径。有关详细信息,请参阅使用文件规格

——spec-vars

(可选)

要在文件规范中替换的"key1=value1;key2=value2;…"形式的变量列表。在文件规范中,变量的使用方法如下:

——道具

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有具有所有将下载指定属性的名称和值。

——exclude-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有工件没有所有将下载指定属性的名称和值。

——构建

(可选)

如果指定,则只匹配指定版本的构件。属性格式为build-name/build-number。如果您没有指定生成号,构件将根据最新的生成号进行筛选。

——包

(可选)

如果指定了,则只匹配指定bundle的工件。格式为bundle-name/bundle-version。

——平

(默认值:false)

如果为真,工件将被下载到指定的确切目标路径,并且它们在源存储库中的层次结构将被忽略。

如果为false,工件将下载到文件系统中的目标路径,同时在源存储库中维护它们的层次结构。

如果占位符,并且您希望本地文件系统(下载路径)仅由占位符决定,或者换句话说,避免将Artifactory文件夹层次结构设置为false。

——递归

(默认值:真实)

如果为真,工件也会从源存储库中指定路径下的子路径下载。

如果为false,则只下载指定源路径目录中的工件。

——线程

(默认值:3)

应该用于下载的并行线程的数量,每个线程一次下载一个工件。

——分割

(默认值:3)

每个文件在下载时应该分割成的段数(假设工件已经结束)——min-split在大小)。若要在单个线程中下载每个文件,请设置为0。

——重试

(默认值:3)

下载重试次数。

——retry-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结尾。

——min-split

(默认:5120)

最小尺寸:允许分裂的最小尺寸大于指定数目的文件将被分割成相同大小的文件——分割段。任何小于指定数量的文件都将在单个线程中下载。如果设置为-1,则不拆分文件。

——即将

(默认值:false)

如果为真,该命令仅指示将下载哪些工件。

如果为false,则完全执行该命令并下载指定的工件。

——爆炸

(默认值:false)

设置为true以在从Artifactory下载存档后提取存档。

支持的压缩格式:br, bz2, gz, lz4, sz, xz, zstd。

支持的存档格式:zip, tar(包括任何压缩变体,如tar.gz), rar. gz。

——validate-symlinks

(默认值:false)

如果为真,该命令将验证该值符号链接都指向现有的和未更改的文件,通过比较它们的sha1。适用于文件,不适用于目录。

——include-dirs

(默认值:false)

如果为true,则源路径适用于底层链目录,而不仅仅适用于文件。按钮链目录要么为空,要么不包含与源路径匹配的其他目录。

——除外 以分号分隔的排除模式列表。一个使用通配符。

——sync-deletes

(可选)

本地文件系统中的特定路径,下载后在该路径下同步依赖项。下载之后,此路径将只包括在此下载操作期间下载的依赖项。该路径下的其他文件将被删除。

——安静

(默认值:false)

如果为true,则跳过删除确认消息。

——排序

(可选)

由分号分隔的字段组成的排序列表。字段必须是“items”AQL域的一部分。有关更多信息,请阅读AQL文档

——排序顺序

(默认值:asc)

'sort-by'选项中的字段应该排序的顺序。接受'asc'或'desc'。

——限制

(可选)

要获取的最大项数。通常与'sort-by'选项一起使用。

——抵消

(可选)

获取项的偏移量(即应该跳过多少项)。通常与'sort-by'选项一起使用。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——archive-entries

(可选)

如果指定,则只匹配包含匹配此模式的条目的存档工件。您可以使用通配符来指定多个工件。

——详细介绍

(默认值:false)

设置为true,将受影响文件的列表作为命令输出摘要的一部分。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

——gpg密钥

(可选)

位于文件系统上的公共GPG密钥文件的路径,用于验证下载的发布包文件。

命令参数

源路径

指定Artifactory中的源路径,应该从该路径下载工件。您可以使用通配符来指定多个工件。

目标路径

第二个参数是可选的,指定本地文件系统目标路径。

如果目标路径以斜杠结束,则假定该路径为目录。例如,如果指定目标为"repo-name/a/b/",则"b"被假定为文件应该下载到的目录。如果没有终端斜杠,则假设目标路径是一个需要重命名的文件。例如,指定目标为“a/b”,则下载的文件将重命名为“b”。

为了灵活地指定目标路径,您可以包含以{1}、{2}形式的占位符,这些占位符将被括在圆括号中的源路径中的相应令牌替换。详情请参阅使用占位符

例子

示例1

下载一个名为cool-froggy.zip的根节点my-local-repo存储库到当前目录。

$ jf rt dl my-local-repo/cool-froggy.zip
示例2

的下面下载所有工件all-my-frogs目录中的my-local-repo存储库到all-my-frogs当前目录下的文件夹。

$ jf rt dl my-local-repo/all-my-frogs/ all-my-frogs/
示例3

中的所有工件下载my-local-repo存储库的jar扩展至all-my-frogs当前目录下的文件夹。

$ jf rt dl“my-local-repo/*.jar”all-my-frogs/
示例4

下载上传到的最新文件all-my-frogs文件夹中的my-local-repo存储库。

Jf rt dl "my-local-repo/all-my-frogs/"——sort-by=created——sort-order=desc——limit=1

复制文件

该命令用于复制Artifactory中的文件

命令名
rt副本
缩写
rt cp
命令选项

当使用*或;字符在复制命令选项或参数时,请务必将整个选项或参数字符串括在引号(")中,以确保*或;字符不被解释为字面量。

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——规范

(可选)

文件规范的路径。有关详细信息,请参阅使用文件规格

——道具

(可选)

Artifactory的列表属性指定的作为“键=值”对,由分号分隔。(例如,"key1=value1;key2=value2;key3=value3")只复制具有这些属性名称和值的工件。

——exclude-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有工件没有所有将复制指定属性的名称和值。

——构建

(可选)

如果指定,则只匹配指定版本的构件。属性格式为build-name/build-number。如果您没有指定生成号,构件将根据最新的生成号进行筛选。

——包

(可选)

如果指定了,则只匹配指定bundle的工件。格式为bundle-name/bundle-version。

——平

(默认值:false)

如果为真,工件将被复制到指定的精确目标路径,并且它们在源路径中的层次结构将被忽略。

如果为false,工件将被复制到目标路径,同时保持其源路径层次结构。

——递归

(默认值:真实)

如果为真,工件也会从指定源路径下的子路径复制。

如果为false,则只复制指定源路径目录中的工件。

——即将

(默认值:false)

如果为真,该命令仅指示将复制哪些工件。

如果为false,则完全执行该命令并复制指定的工件。

——除外 以分号分隔的排除模式列表。一个使用通配符。
——线程

(默认值:3)

用于复制项的线程数。

——排序

(可选)

由分号分隔的字段组成的排序列表。字段必须是“items”AQL域的一部分。有关更多信息,请阅读AQL文档

——排序顺序

(默认值:asc)

'sort-by'选项中的字段应该排序的顺序。接受'asc'或'desc'。

——限制

(可选)

要获取的最大项数。通常与'sort-by'选项一起使用。

——抵消

(可选)

获取项的偏移量(即应该跳过多少项)。通常与'sort-by'选项一起使用。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——archive-entries

(可选)

如果指定,则只匹配包含匹配此模式的条目的存档工件。您可以使用通配符来指定多个工件。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

——重试

(默认值:3)

HTTP重试次数。

——retry-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结尾。

命令参数
该命令有两个参数
源路径

指定Artifactory中的源路径,工件应该从该路径复制,格式如下:[存储库名称]/[存储库路径]。您可以使用通配符来指定多个工件。

目标路径

指定Artifactory中的目标路径,工件应该复制到该路径,格式如下:[存储库名称]/[存储库路径]

如果模式以斜杠结束,则假定目标路径是一个文件夹。例如,如果您指定目标为“repo-name/a/b/”,那么“b”将被假定为Artifactory中的一个文件夹,文件将被复制到该文件夹中。如果没有终端斜杠,则假定目标路径是复制的文件应该重命名到的文件。例如,如果指定目标为“repo-name/a/b”,复制的文件将在Artifactory中重命名为“b”。

为了灵活地指定目标路径,您可以包含以{1}、{2}形式的占位符,这些占位符将被括在圆括号中的源路径中的相应令牌替换。详情请参阅使用占位符

例子

示例1

复制位于下面的所有工件/兔子源,frog-repo存储库中的相同路径target-frog-repo存储库。

Jf rt cp source-frog-repo/rabbit/ target-frog-repo/rabbit/
示例2

复制位于下面的所有zip文件/兔子源,frog-repo存储库中的相同路径target-frog-repo存储库。

Jf rt cp "source-frog-repo/rabbit/*.zip" target-frog-repo/rabbit/
示例3

复制位于下面的所有工件/兔子源,frog-repo和属性"Version=1.0"到相同的路径target-frog-repo存储库。

jf rt cp "source-frog-repo/rabbit/*" target-frog-repo/rabbit/——props=Version=1.0

移动文件

该命令用于移动Artifactory中的文件

命令名
rt移动
缩写
rt mv
命令选项

当使用*或;字符在复制命令选项或参数时,请务必将整个选项或参数字符串括在引号(")中,以确保*或;字符不被解释为字面量。

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——规范

(可选)

文件规范的路径。有关详细信息,请参阅使用文件规格

——道具

(可选)

Artifactory的列表属性指定的作为“键=值”对,由分号(f或者例如,"key1=value1;key2=value2;key3=value3")只有具有这些属性名称和值的工件才会被移动。

——exclude-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有工件没有所有指定属性的名称和值将被移动。

——构建

(可选)

如果指定,则只匹配指定版本的构件。属性格式为build-name/build-number。如果您没有指定生成号,构件将根据最新的生成号进行筛选。

——包

(可选)

如果指定了,则只匹配指定bundle的工件。格式为bundle-name/bundle-version。

——平

(默认值:false)

如果为真,工件将被移动到指定的精确目标路径,并且它们在源路径中的层次结构将被忽略。

如果为false,工件将移动到目标路径,同时维护其源路径层次结构。

——递归

(默认值:真实)

如果为真,工件也会从指定源路径下的子路径中移动。

如果为false,则只移动指定源路径目录中的工件。

——即将

(默认值:false)

如果为真,该命令仅指示将移动哪些工件。

如果为false,则完全执行该命令并下载指定的工件。

——除外 以分号分隔的排除模式列表。一个使用通配符。
——线程

(默认值:3)

用于移动项目的线程数。

——排序

(可选)

由分号分隔的字段组成的排序列表。字段必须是“items”AQL域的一部分。有关更多信息,请阅读AQL文档

——排序顺序

(默认值:asc)

'sort-by'选项中的字段应该排序的顺序。接受'asc'或'desc'。

——限制

(可选)

要获取的最大项数。通常与'sort-by'选项一起使用。

——抵消

(可选)

获取项的偏移量(即应该跳过多少项)。通常与'sort-by'选项一起使用。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——archive-entries

(可选)

如果指定,则只匹配包含匹配此模式的条目的存档工件。您可以使用通配符来指定多个工件。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

——重试

(默认值:3)

HTTP重试次数。

——retry-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结尾。

命令参数
该命令有两个参数
源路径

指定Artifactory中的源路径,工件应该从该路径移动,格式如下:[存储库名称]/[存储库路径]。您可以使用通配符来指定多个工件。

目标路径

指定Artifactory中的目标路径,工件应该移动到该路径,格式如下:[存储库名称]/[存储库路径]

如果模式以斜杠结束,则假定目标路径是一个文件夹。例如,如果您指定目标为"repo-name/a/b/",那么"b"将被假定为Artifactory中的一个文件夹,文件将被移动到该文件夹中。如果没有终端斜杠,则假定目标路径是一个文件,移动的文件应该重命名到该文件。例如,如果您指定目标为“repo-name/a/b”,那么在Artifactory中,移动的文件将被重命名为“b”。

为了灵活地指定上传路径,您可以包含{1}、{2}形式的占位符,这些占位符由括号括起来的源路径中的相应令牌替换。详情请参阅使用占位符

例子

示例1

移动位于下面的所有工件/兔子源,frog-repo存储库中的相同路径target-frog-repo存储库。

Jf rt mv source-frog-repo/rabbit/ target-frog-repo/rabbit/
示例2

移动下的所有zip文件/兔子源,frog-repo存储库中的相同路径target-frog-repo存储库。

Jf rt mv "source-frog-repo/rabbit/*.zip" target-frog-repo/rabbit/
示例3

移动位于下面的所有工件/兔子源,frog-repo和属性"Version=1.0"到相同的路径target-frog-repo存储库。

jf rt mv "source-frog-repo/rabbit/*" target-frog-repo/rabbit/——props=版本=1.0

删除文件

该命令用于删除Artifactory中的文件

命令名
rt删除
缩写
rt▽
命令选项

当使用*或;字符在删除命令选项或参数时,请务必将整个选项或参数字符串用引号(")包装起来,以确保*或;字符不被解释为字面量。

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——规范

(可选)

文件规范的路径。有关详细信息,请参阅使用文件规格

——道具

(可选)

Artifactory的列表属性指定的作为“键=值”对,由分号(f或者例如,"key1=value1;key2=value2;key3=value3")只有具有这些属性名称和值的工件才会被删除。

——exclude-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有工件没有所有指定属性的名称和值将被删除。

——构建

(可选)

如果指定,则只匹配指定版本的构件。属性格式为build-name/build-number。如果您没有指定生成号,构件将根据最新的生成号进行筛选。

——包

(可选)

如果指定了,则只匹配指定bundle的工件。格式为bundle-name/bundle-version。

——递归

(默认值:真实)

如果为真,工件也会从指定路径下的子路径中删除。

——安静

(默认值:false)

如果为true,则跳过删除确认消息。

——即将

(默认值:false)

如果为真,该命令仅指示将删除哪些工件。

如果为false,则完全执行该命令并删除指定的工件。

——除外 以分号分隔的排除模式列表。一个使用通配符。
——排序

(可选)

由分号分隔的字段组成的排序列表。字段必须是“items”AQL域的一部分。有关更多信息,请阅读AQL文档

——排序顺序

(默认值:asc)

'sort-by'选项中的字段应该排序的顺序。接受'asc'或'desc'。

——限制 (可选)

要获取的最大项数。通常与'sort-by'选项一起使用。

——抵消

(可选)

获取项的偏移量(即应该跳过多少项)。通常与'sort-by'选项一起使用。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——archive-entries

(可选)

如果指定,则只匹配包含匹配此模式的条目的存档工件。您可以使用通配符来指定多个工件。

——线程

(默认值:3)

用于删除项的线程数。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

——重试

(默认值:3)

HTTP重试次数。

——retry-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结束

命令参数
该命令接受一个参数
删除路径

指定需要删除的文件在Artifactory中的路径,格式如下:[存储库名称]/[存储库路径]。您可以使用通配符来指定多个工件。

例子

示例1

删除下的所有工件/兔子frog-repo存储库。

Jf rt del frog-repo/rabbit/
示例2

删除目录下所有zip文件/兔子frog-repo存储库。

Jf rt del "frog-repo/rabbit/*.zip"

搜索文件

该命令用于搜索和显示Artifactory中的文件。

命令名
rt搜索
缩写
rt年代
命令选项

当使用*或;在命令选项或参数中的字符,请务必将整个选项或参数字符串用引号(")包装起来,以确保*或;字符不被解释为字面量。

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——规范

(可选)

文件规范的路径。有关详细信息,请参阅使用文件规格

——数

(可选)

设置为true仅显示找到的文件或文件夹的总数。

——include-dirs

(可选)

如果您想将源路径模式应用于目录,而不仅仅是文件,则设置为true

——spec-vars

(可选)

要在文件规范中替换的"key1=value1;key2=value2;…"形式的变量列表。在文件规范中,变量的使用方法如下:

——道具

(可选)

Artifactory的列表属性指定的作为“键=值”对,由分号(f或者例如,"key1=value1;key2=value2;key3=value3")只有具有这些属性名称和值的工件才会返回。

——exclude-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有工件没有所有将返回指定属性的名称和值。

——构建

(可选)

如果指定,则只匹配指定版本的构件。属性格式为build-name/build-number。如果您没有指定生成号,构件将根据最新的生成号进行筛选。

——包

(可选)

如果指定了,则只匹配指定bundle的工件。格式为bundle-name/bundle-version。

——递归

(默认值:真实)

如果您不希望在Artifactory的子文件夹中搜索工件,则设置为false。

——除外

以分号分隔的排除模式列表。一个使用通配符。

——排序

(可选)

由分号分隔的字段组成的排序列表。字段必须是“items”AQL域的一部分。有关更多信息,请阅读AQL文档

——排序顺序

(默认值:asc)

'sort-by'选项中的字段应该排序的顺序。接受'asc'或'desc'。

——传递

(默认值:false)

设置为true也可以在远程存储库中查找工件。在Artifactory 7.17.0或更高版本上可用。

——限制 (可选)

要获取的最大项数。通常与'sort-by'选项一起使用。

——抵消

(可选)

获取项的偏移量(即应该跳过多少项)。通常与'sort-by'选项一起使用。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——archive-entries

(可选)

如果指定,则只匹配包含匹配此模式的条目的存档工件。您可以使用通配符来指定多个工件。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

——重试

(默认值:3)

HTTP重试次数。

——retry-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结束。重试-等待时间

命令参数

搜索路径

在Artifactory中指定搜索路径,格式如下:[存储库名称]/[存储库路径]。您可以使用通配符来指定多个工件。

例子

示例1

显示位于下面的所有工件的列表/兔子frog-repo存储库。

Jf rt s青蛙/兔子/
示例2

显示位于下面的所有zip文件的列表/兔子frog-repo存储库。

Jf rt s "frog-repo/rabbit/*.zip"

设置文件属性

该命令用于设置Artifactory中已有文件的属性。

命令名
rt set-props
缩写
rt sp
命令选项

当使用*或;在命令选项或参数中的字符,请务必将整个选项或参数字符串用引号(")包装起来,以确保*或;字符不被解释为字面量。

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——规范

(可选)

文件规范的路径。有关详细信息,请参阅使用文件规格

——spec-vars

(可选)

要在文件规范中替换的"key1=value1;key2=value2;…"形式的变量列表。在文件规范中,变量的使用方法如下:

——道具

(可选)

“key1=value1;key2=value2,…”形式的属性列表。只有具有这些属性名称和值的文件才会受到影响。

——exclude-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有工件没有所有将影响指定属性的名称和值。

——递归

(默认值:真实)

当为false时,Artifactory子文件夹中的工件将不受影响。

——构建

(可选)

如果指定,则只匹配指定版本的构件。属性格式为build-name/build-number。如果您没有指定生成号,构件将根据最新的生成号进行筛选。

——包 [可选]如果指定了,则只匹配指定bundle中的工件。格式为bundle-name/bundle-version。
——include-dirs

(默认值:false)

当为true时,这些属性也将在Artifactory中的文件夹(而不仅仅是文件)上设置。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——除外

以分号分隔的排除模式列表。一个使用通配符。

——排序

(可选)

由分号分隔的字段组成的排序列表。字段必须是“items”AQL域的一部分。有关更多信息,请阅读AQL文档

——排序顺序

(默认值:asc)

'sort-by'选项中的字段应该排序的顺序。接受'asc'或'desc'。

——限制

(可选)

要获取的最大项数。通常与'sort-by'选项一起使用。

——抵消

(可选)

获取项的偏移量(即应该跳过多少项)。通常与'sort-by'选项一起使用。

——archive-entries

(可选)

如果指定,则只匹配包含匹配此模式的条目的存档工件。您可以使用通配符来指定多个工件。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

——线程

(默认值:3)

工作线程数。

——重试

(默认值:3)

HTTP重试次数。

——retry-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结尾。

命令参数
该命令有两个参数。
文件模式

匹配模式的文件将使用指定的属性进行设置。

文件属性

属性列表,格式为key1=value1;key2=value2,…,以设置在匹配工件上。

例子

示例1

在通用本地存储库中的所有zip文件上设置属性。该命令将属性“a”设置为“1”值,属性“b”设置为“2”和“3”值。

Jf rt sp "generic-local/*.zip" "a=1;b=2,3"
示例2

该命令将在文件规范my-spec中找到的所有文件上将属性“a”设置为“1”值,将属性“b”设置为两个值:“2”和“3”。

jfrt sp "a=1;b=2,3"——spec my-spec

从文件中删除属性

该命令用于删除Artifactory中已有文件的属性。

命令名
rt delete-props
缩写
rt delp
命令选项

当使用*或;在命令选项或参数中的字符,请务必将整个选项或参数字符串用引号(")包装起来,以确保*或;字符不被解释为字面量。

——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——道具

(可选)

“key1=value1;key2=value2,…”形式的属性列表。只有具有这些属性的文件才会受到影响。

——exclude-props

(可选)

Artifactory的列表属性指定为“key=value”对,由分号分隔(例如,“key1=value1;key2=value2;key3=value3”)。只有工件没有所有指定属性的名称和值将受到影响。

——递归

(默认值:真实)

当为false时,Artifactory子文件夹中的工件将不受影响。

——构建

(可选)

如果指定,则只匹配指定版本的构件。属性格式为build-name/build-number。如果您没有指定生成号,构件将根据最新的生成号进行筛选。

——包

(可选)

如果指定了,则只匹配指定bundle的工件。格式为bundle-name/bundle-version。

——include-dirs

(默认值:false)

当为true时,这些属性也将在Artifactory中的文件夹(而不仅仅是文件)上设置。

——fail-no-op

(默认值:false)

如果您希望在没有文件受到影响的情况下命令返回退出代码2,则设置为true。

——除外

以分号分隔的排除模式列表。一个使用通配符。

——排序

(可选)

由分号分隔的字段组成的排序列表。字段必须是“items”AQL域的一部分。有关更多信息,请阅读AQL文档

——排序顺序

(默认值:asc)

'sort-by'选项中的字段应该排序的顺序。接受'asc'或'desc'。

——限制

(可选)

要获取的最大项数。通常与'sort-by'选项一起使用。

——抵消

(可选)

获取项的偏移量(即应该跳过多少项)。通常与'sort-by'选项一起使用。

——archive-entries

(可选)

如果指定,则只匹配包含匹配此模式的条目的存档工件。您可以使用通配符来指定多个工件。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

——重试

(默认值:3)

HTTP重试次数。

——retruy-wait-time

(默认值:0)

重试之间等待的秒数或毫秒数。数值应该以s(秒)或ms(毫秒)结束。重试-等待时间

命令参数
该命令有两个参数。
文件模式

属性将从匹配模式的文件中删除。

文件属性

属性列表,形式为key1,key2,…,以从匹配的工件中删除。

例子

从通用本地存储库中的所有zip文件中删除“status”和“phase”属性。

Jf rt delp "generic-local/*.zip" "状态,阶段"

创建访问令牌

这个命令允许创建访问令牌供Artifactory用户使用

命令名

rt access-token-create

缩写
rt atc
命令选项


——组

(默认值:*)

要关联的访问令牌的逗号分隔组的列表。指定*表示这是一个“用户范围的令牌”,也就是说,令牌提供了与当前主题相同的访问权限,因此是动态计算的。非管理员用户只能提供其所属组的子集范围

——grant-admin

(默认值:false)

设置为true为访问令牌提供管理特权。这只适用于管理员。

——到期

(默认:3600)

令牌有效的时间(以秒为单位)。若要指定永不过期的令牌,请设置为0。非admin用户只能设置等于或小于默认3600的值。

——可刷新的

(默认值:false)

如果您希望令牌可刷新,则设置为true。还将返回一个刷新令牌,以便在它过期后用于生成一个新的令牌。

——观众

(可选)

一个由空格分隔的其他Artifactory实例或服务的列表,这些实例或服务应该接受这个令牌,由它们的Artifactory Service id标识,由'jf rt curl api/system/service_id'命令获得。

命令参数

用户名

可选-为其创建令牌的用户名。如果不指定,则使用已配置的用户。

例子

属性为用户创建访问令牌commander-will-riker用户名。

atc指挥官will-riker

清理Git LFS存储库中未引用的文件

该命令用于清理Git LFS存储库中的文件。这将删除Git LFS存储库中的所有文件,这些文件在相应的Git存储库中不再被引用。

命令名

rt git-lfs-clean

缩写
rt、相关
命令选项


——参考文献

[默认值:refs/remotes/*]以"ref1,ref2,…"形式保存的Git引用列表。

——回购

[可选]Artifactory中的本地Git LFS存储库,需要清理。如果省略,则从Git存储库检测存储库。

——安静

[默认值:false]设置为true,跳过删除确认信息。

——即将

[默认值:false]如果为true,则仅模拟清理。实际上没有文件被删除。

命令参数
如果没有传入参数,该命令假定.git存储库位于当前目录。
.git的路径 包含.git目录的目录路径。

例子

示例1

使用位于当前目录的. Git目录中的配置,从Artifactory中清理Git LFS文件。

$ jf rt GLC
示例2

清理Artifactory中的Git LFS文件,使用位于path/to/ Git /config目录中的. Git目录中的配置。

$ jf rt GLC路径/到/git/config

运行cUrl

使用已配置的Artifactory详细信息执行一个cUrl命令。该命令期望cUrl客户端包含在PATH中。

该命令只支持Artifactory REST api,可以在https:///artifactory/api/

命令名

rt旋度


缩写
rt cl
命令选项



——服务器id

(可选)

配置的服务器IDc add命令。如果不指定,则使用默认配置的服务器。


命令参数


cUrl参数和标志

传递给cUrl的参数和标志的相同列表,除了以下更改:

  1. 不应该传递完整的Artifactory URL。相反,应该发送REST端点URI。
  2. 不应该传递登录凭据。相反,应该使用——server-id。

目前只支持配置用户名、密码/ API密钥的服务器。


例子

示例1

执行cUrl客户端,发送一个GET请求到/api/build端点到默认的Artifactory服务器

jf rt curl -XGET /api/build
示例2

执行cUrl客户端,向/api/build端点发送一个GET请求到配置好的my-rt-server服务器ID。

jf rt curl -XGET /api/build——server-id my-rt-server

构建集成

概述

JFrog CLI集成了任何开发生态系统,允许您收集构建信息,然后将其发布到Artifactory。通过向Artifactory发布构建信息,JFrog CLI授权Artifactory提供部署的工件、使用的依赖项和构建环境上的广泛信息的可见性,以允许完全可跟踪的构建。阅读更多关于使用Artifactory构建信息和构建集成的信息在这里

许多JFrog CLI的命令接受两个可选的命令选项:——打造了品牌而且——版本号.当添加这些选项时,JFrog CLI会在本地收集并记录这些命令的构建信息。
当使用相同的构建和构建号运行多个命令时,JFrog CLI将收集的构建信息聚合到一个构建中。
记录的构建信息稍后可以使用构建发布命令。

收集Build-Info

属性来收集构建信息——打造了品牌而且——版本号选项对应不同的CLI命令。CLI命令可以多次运行,并累计收集指定构建名称和编号的构建信息,直到将其发布到Artifactory。例如,运行下载命令多次使用相同的构建名称和编号将每个下载的文件累积到相应的构建信息中。

收集依赖关系

类来收集依赖项——打造了品牌而且——版本号的选项下载命令。

例如,下面的命令下载cool-froggy.zip在存储库中找到的文件my-local-repo,但它还将此文件指定为构建中的依赖项my-build-name第18个版本:

Jf rt dl my-local-repo/cool-froggy.zip——build-name=my-build-name——build-number=18

收集构建工件

属性来收集构建构件——打造了品牌而且——版本号的选项上传命令。

例如,下面的命令指定该文件froggy.tgz上传到存储库my-local-repo是构建的构建工件吗my-build-name第18个版本:

青蛙,你真厉害。tgzmy-local-repo——打造了品牌=my-build-name --build-number=18

收集环境变量

此命令用于收集环境变量并将它们附加到构建中。

方法收集环境变量build-collect-env公元前)命令。

例如,下面的命令收集当前已知的所有环境变量,并将它们附加到build-info进行构建my-build-name第18个版本:

Jf rt bce my-build-name 18

命令参数和标志如下表所示:

命令名

rt build-collect-env

缩写
rt公元前
命令选项


——项目

(可选)

JFrog项目密钥。

命令参数
该命令接受两个参数。
构建的名字 构建的名字。
建立数 构建数字。
例子

收集构建名称:frogger-build和构建号:17的环境变量

Jf rt bce青蛙建造17


从Git收集信息

build-add-git(bag)命令从本地的. Git目录中收集Git的修订版本和URL,并将其添加到build-info中。它还可以收集跟踪项目问题的列表(例如,存储在JIRA或其他错误跟踪系统中的问题),并将它们添加到构建信息中。通过从本地git日志中读取git提交消息来收集问题。每个提交消息都与预先配置的正则表达式进行匹配,正则表达式检索问题ID和问题摘要。收集问题所需的信息从提供给该命令的yaml配置文件中检索。

命令参数和标志如下表所示:

命令名

rt build-add-git

缩写
rt袋
命令选项


——配置

(可选)

yaml配置文件的路径,用于收集跟踪的项目问题并将它们添加到build-info中。

——服务器id

(可选)

配置的服务器IDJfrog config命令.属性将构建信息发布到此服务器构建发布英国石油公司命令。如果提供了该选项,则会覆盖该命令的yaml配置中的serverID值。属性配置的默认服务器Jfrog config命令,使用。

——项目

(可选)

JFrog项目密钥。

命令参数
该命令接受三个参数。
构建的名字 构建的名字。
建立数 构建数字。
.路径 可选-包含“。git”目录的路径。如果不指定,则假定.git目录在当前目录或父目录之一中。
例子

Jf rt包青蛙建造17checkout-dir

这是配置文件的结构。

serverID yaml属性是可选的。如果提供——server-id命令选项,则覆盖serverID值。如果没有提供serverID属性和——server-id命令选项,则使用“jfrog config add”命令配置的默认服务器。serverID: my-artifactory-server trackerName: JIRA regexp: (.+-[0-9]+)\s-\s(.+) keyGroupIndex: 1 summaryGroupIndex: 2 trackerUrl: http://my-jira.com/issues aggregate: true aggregationStatus: RELEASED
配置文件属性
属性名 描述
版本 模式版本仅供内部使用。不要改变!
serverID 配置的Artifactory服务器IDJfrog config命令.该命令使用该服务器获取关于以前发布版本的详细信息。的——服务器id命令选项(如果提供了)将覆盖serverID价值。
如果两者都serverID财产和——服务器id命令选项没有提供,默认服务器由Jfrog config命令使用。
trackerName 问题跟踪系统的名称(类型)。例如,JIRA。此属性可以取任何值。

正则表达式

用于匹配git提交消息的正则表达式。表达式应该包含两个捕获组—用于问题键(ID)和问题摘要。在上面的例子中,正则表达式匹配提交消息,示例如下:

HAP-1007 -这是一个示例问题

keyGroupIndex

正则表达式中用于检索问题密钥的捕获组索引。在上面的例子中,将索引设置为“1”检索hap - 1007从这个提交消息:

HAP-1007 -这是一个示例问题

summaryGroupIndex

正则表达式中用于检索问题摘要的捕获组索引。在上面的例子中,将索引设置为“2”检索来自此提交消息的示例问题:

HAP-1007 -这是一个示例问题

trackerUrl 问题跟踪URL。这个值用于构建到Artifactory构建UI中的问题的直接链接。

如果希望所有构建都包含以前构建的问题,则将该值设置为true。

aggregationStatus

如果aggregate设置为true,则此属性指示应该在多长时间内聚合问题。在上面的示例中,问题将从以前的构建中聚合,直到找到具有RELEASE状态的构建。属性提升构建时,将设置构建状态Jf rt建设推广命令。

添加文件作为构建依赖项

下载命令,以及从Artifactory下载依赖项的其他命令接受——打造了品牌而且——版本号命令选项。添加这些选项将下载的文件记录为构建依赖项。然而,在某些情况下,有必要添加一个文件,已由另一个工具下载到构建版本中。使用build-add-dependencies命令到此。

缺省情况下,该命令从本地文件系统收集文件。但是,如果您希望从Artifactory收集文件,请添加——from-rt选项。

命令名

rt build-add-dependencies

缩写
rt坏
命令选项

当使用*或;在命令选项或参数中的字符,请务必将整个选项或参数字符串用引号(")包装起来,以确保*或;字符不被解释为字面量。

——from-rt

(默认值:false)

设置为true将在Artifactory中搜索文件,而不是在本地文件系统中搜索。当——from-rt设置为true时,不支持——regexp选项。

——服务器id

(可选)

使用config命令配置的服务器ID。

——规范

(可选)

文件规格的路径。

——spec-vars

(可选)

要在文件规范中替换的"key1=value1;key2=value2;…"形式的变量列表。在文件规范中,变量的使用方法如下:

——递归

(默认值:真实)

当为false时,Artifactory子文件夹中的工件将不受影响。

——regexp

(可选:假)

[默认值:false] true表示使用正则表达式而不是通配符表达式来收集要添加到构建信息中的文件。当——from-rt设置为true时,不支持此选项。

——即将

(默认值:false)

设置为true仅获取将添加到构建信息中的依赖项的摘要。

——除外

以分号分隔的排除模式列表。一个根据'regexp'选项的值使用通配符或正则表达式。

命令参数
该命令有三个参数。
构建的名字

要向其中添加依赖项的构建名称

建立数

要向其中添加依赖项的构建号

模式

指定应添加到构建信息中的依赖项的本地文件系统路径。可以使用通配符或——regexp命令选项指定的正则表达式指定多个依赖项。如果指定使用正则表达式,则参数中使用的第一个正则表达式必须用圆括号括起来。

例子

示例1

文件下的所有文件路径/ / / dir /构建/依赖关系目录作为构建的依赖项。构建名称为my-build-name建造号是7.构建信息只在本地更新。要将构建信息发布到Artifactory,请使用Jf rt构建-发布命令。

Jf rt坏my-build-name 7 "path/to/build/dependencies/dir/"


示例2

文件中的所有文件m-local-repo的Artifactory存储库下依赖关系文件夹,作为构建的依赖项。构建名称为my-build-name建造号是7构建信息只在本地更新。要将构建信息发布到Artifactory,请使用Jf rt构建-发布命令。

Jf rt坏my-build-name 7“my-local-repo/dependencies/”——from-rt

出版Build-Info

该命令用于向Artifactory发布构建信息。要将构建的累积构建信息发布到Artifactory,请使用构建发布英国石油公司命令。例如,下面的命令发布为构建收集的所有构建信息my-build-name第18个版本:

Jf bp my-build-name 18

该命令用于向Artifactory发布构建信息。

命令名

rt构建发布

缩写
rt英国石油公司
命令选项


——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——项目

(可选)

JFrog项目密钥。

——build-url

(可选)

可用于在构建信息中设置CI服务器构建URL。

——env-include

(默认值:*)

“value1;value2;…”形式的模式列表只有匹配这些模式的环境变量才会包含在构建信息中。

——env-exclude

(默认值:*密码*、*秘密* *键*)

“value1;value2;…”形式的不区分大小写的模式列表将被排除。

——即将

(默认值:false)

设置为true禁用与Artifactory的通信。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

命令参数
该命令接受两个参数。
构建的名字 要发布的构建名称。
建立数 要发布的版本号。
例子

Jf rt bp my-build-name18


聚合已发布的构建

构建信息,它被收集并发布到ArtifactoryJf rt构建-发布命令,可以包括多个模块。build-info中的每个模块都表示一个包,它是单个构建步骤的结果,换句话说,是JFrog CLI命令执行的结果。例如,下面的命令添加一个名为m1到一个名为构建1作为版本号:

上传“a/*.zip”generic-local——build-name my-build——build-number 1——module m1

下面的命令添加第二个模块,命名为平方米同样的身材:

上传“b/*.zip”generic-local——build-name my-build——build-number 1——module m2

现在,您可以使用以下命令将生成的build-info发布到Artifactory:

Jf rt build-publish my-build 1

现在您已经将构建信息发布到Artifactory,您可以对整个构建执行操作。例如,您可以下载、复制、移动或删除构建的全部或部分工件。你可以这样做。

Jf rt下载“*”——build my-build/1

但在某些情况下,构建由多个构建步骤组成,这些步骤运行在多台不同的机器上或分布在不同的时间段。如何将这些构建步骤(换句话说,将这些命令执行聚合到一个构建信息中)?

要做到这一点,方法是为构建的每个部分创建一个单独的构建信息,并将其独立发布到Artifactory。一旦发布了所有的构建信息实例,您就可以创建一个新的构建信息,它引用之前发布的所有构建信息实例。新的构建信息可以被视为“主”构建信息,它引用其他构建信息实例。

那么下一个问题是——如何创建两个构建实例之间的引用?

这样做的方法是使用build-append命令。在一个未发布的build-info上运行这个命令,会添加一个对已经发布到Artifactory的不同build-info的引用。此引用由新的build-info中的一个新模块表示。该模块的ID将有以下格式:<引用的构建名称>/<引用的构建号>

现在,当下载“主”构建的构件时,您实际上是在下载其所有引用构建的构件。下面的例子说明了这一点,

命令名

rt build-append

缩写
rt袋ydF4y2Ba
命令选项

该命令没有选项。

命令参数
该命令接受四个参数。
构建的名字 当前(尚未发布)构建名称。
建立数 当前(尚未发布)的构建号,

要附加的构建名称

要附加到当前构建的已发布构建名称

要附加的构建号 要附加到当前构建的已发布构建号
需求

Artifactory 7.25.4及以上版本。

例子
#创建和发布构建一个/ 1摩根富林明rt上传“/ * . zip”generic-local——打造了品牌,建立若干1摩根富林明rt构建发布1 #创建和发布构建b / 1摩根富林明rt上传“b / * . zip”generic-local——打造了品牌b rt构建发布,版本号1摩根富林明b 1 #添加构建一个/ 1 b / 1构建aggregating-build / 10摩根富林明rt build-append aggregating-build 10 1摩根富林明rt build-append aggregating-build 10 b 1 #发布构建aggregating-build /摩根富林明rt构建发布aggregating-build 10 #下载的工件聚合-build/10,这和下载a/1和b/1的jf rt download——build聚合-build/10是一样的

推广构建

该命令用于促进建立在Artifactory。

命令名

rt build-promote

缩写
rt bpr
命令选项


——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——项目

(可选)

JFrog项目密钥。

——状态

(可选)

建立促销状态。

——评论

(可选)

建立推广评论。

——source-repo

(可选)

构建提升源存储库。

——包括依赖关系

(默认值:false)

如果设置为true,也会提升构建依赖项。

——复制

(默认值:false)

如果设置为true,则将构建构件和依赖项复制到目标存储库,否则将移动它们。

——道具

(可选)

“key1=value1;key2=value2,…”形式的属性列表。以附加到构建构件。

——即将

(默认值:false)

如果为真,则促销只是模拟的。构建没有得到提升。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

命令参数
该命令接受三个参数。
构建的名字 构建要提升的名称。
建立数 要提升的版本号。
目标库 构建提升目标存储库。
例子

Jf rt BPR my-build-name18target-repository

清理构建

Build-info由CLI根据您应用的命令积累,直到您将Build-info发布到Artifactory。如果,出于任何原因,您希望“重置”构建信息和清除(即删除)迄今为止积累的任何信息,您可以使用清除项目公元前)命令。

命令参数和标志如下表所示:

命令名

rt清除项目

缩写
rt公元前
命令选项

该命令没有选项。

命令参数
该命令接受两个参数。
构建的名字 构建的名字。
建立数 构建数字。


例如,下面的命令将清理为构建收集的所有构建信息my-build-name第18个版本:

Jf rt BC my-build-name18

丢弃旧的构建从Artifactory

命令用于丢弃先前发布到Artifactory的构建构建发布命令。

命令参数和标志如下表所示:

命令名

rt build-discard

缩写
rt bdi
命令选项

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——max-days

(可选)

在Artifactory中保存构建的最大天数。

——max-builds

(可选)

在Artifactory中存储的构建的最大数量。

——exclude-builds

(可选)

“value1,value2,…”形式的构建号列表,不应该从Artifactory中删除。

——delete-artifacts

(默认值:false)

如果设置为true,则自动删除存储在Artifactory中的构建工件。

——异步

(默认值:false)

如果设置为true,构建丢弃将异步运行,不会等待响应。

命令参数
该命令接受一个参数。
构建的名字 构建的名字。
例子

示例1

丢弃最老的版本号my-build-name来自Artifactory,只留下10个最新的版本。

Jf rt bdi my-build-name—max-builds=10

示例2

丢弃最老的版本号my-build-name来自Artifactory,只留下过去7天内发布的版本。

Jf rt bdi my-build-name——max-days=7

示例3

丢弃最老的版本号my-build-name来自Artifactory,只留下过去7天内发布的版本。b20而且b21不会被丢弃。

Jf rt bdi my-build-name——max-days=7——exclude-builds =“b20, b21”

包管理器集成

运行Maven构建

JFrog CLI包括与Maven的集成,允许您解决依赖关系,并从Artifactory部署构建工件,同时收集构建信息并将其存储在Artifactory中。

设置maven存储库

在使用mvn命令,项目需要预先配置为Artifactory服务器和存储库,用于构建和发布项目。的mvn-config命令应使用一次以将配置添加到项目。该命令应该在项目的根目录中运行。文件中的命令保存配置.jfrog位于项目根目录的目录。

命令名

mvn-config

缩写
mvnc
命令选项

——全球

(可选)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-resolve

(可选)

用于解析的服务器ID。服务器应该使用'jf rt c'命令进行配置。

——server-id-deploy

(可选)

用于部署的服务器ID。服务器应该使用'jf rt c'命令进行配置。

——repo-resolve-releases

(可选)

发布依赖项的解决方案存储库。

——repo-resolve-snapshots

(可选)

快照依赖项的解析存储库。

——repo-deploy-releases

(可选)

发布构件的部署存储库。

——repo-deploy-snapshots

(可选)

快照构件的部署存储库。

——include-patterns

(可选)

通过设置指定要包括哪些工件的通配符模式来筛选已部署的工件。您可以提供多个模式,用逗号和空格分隔。例如

- * .pom工件- * . jar,工件

——exclude-patterns

(可选)

通过设置指定要排除哪些构件的通配符模式来筛选已部署的构件。您可以提供多个模式,用逗号和空格分隔。例如

- * -test.pom工件- * -test.jar,工件

——扫描

(默认值:false)

如果您希望在上传之前在本地文件系统上对所有文件进行x射线扫描,则设置此设置,如果发现任何文件易受攻击,则跳过上传。

- - -格式

(默认:表)

应该与——scan选项一起使用。定义扫描输出格式。接受表或json作为值。

命令参数
该命令不接受参数

运行maven

mvn命令触发maven客户端,同时解决依赖关系并从Artifactory和向Artifactory部署工件。

在运行mvn命令首次在项目上执行时,该项目应配置mvn-config命令。

如果运行JFrog CLI的机器无法访问internet,请务必阅读下载Maven和Gradle Extractor jar文件部分。

命令参数和标志如下表所示:

命令名

mvn

缩写
mvn
命令选项

——线程

(默认值:3)

用于上传构建构件的线程数。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——insecure-tls

(默认值:false)

设置为true将跳过TLS证书验证。

命令参数
该命令接受与mvn客户端相同的参数和选项。

部署Maven工件

部署到Artifacts是由部署和安装阶段触发的。
若要禁用构件部署,请添加-Dartifactory.publish.artifacts = false目标和选择的清单。
例如:全新安装-Dartifactory.publish.artifacts = false”
例子

示例1

使用maven运行clean并安装。

Jf MVN clean install -f path/to/pom-file

运行Gradle构建

JFrog CLI包括与Gradle的集成,允许您解决依赖关系,并从Artifactory部署构建工件,同时收集构建信息并将其存储在Artifactory中。

设置gradle存储库

在使用gradle命令,项目需要预先配置为Artifactory服务器和存储库,用于构建和发布项目。的gradle配置命令应使用一次以将配置添加到项目。该命令应该在项目的根目录中运行。文件中的命令保存配置.jfrog位于项目根目录的目录。

命令名

gradle-config

缩写
gradlec
命令选项

——全球

(可选)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-resolve

(可选)

用于解析的服务器ID。服务器应该使用'jf c add'命令进行配置。

——server-id-deploy

(可选)

用于部署的服务器ID。服务器应该使用'jf c add'命令进行配置。

——repo-resolve

(可选)

用于依赖项解析的存储库。

——repo-deploy

(可选)

用于构件部署的存储库。

——uses-plugin

(默认值:false)

如果Gradle Artifactory Plugin已经应用在构建脚本中,则设置为true。

——使用包装

(默认值:false)

如果您想使用Gradle包装器,则设置为true。

——deploy-maven-desc

(默认值:真实)

如果不希望部署Maven描述符,则设置为false。

——deploy-ivy-desc

(默认值:真实)

如果不希望部署Ivy描述符,则设置为false。

——ivy-desc-pattern

(默认值:'(组织)/(模块)/ ivy -(修订). xml”

设置部署的Ivy描述符模式。

——ivy-artifacts-pattern

(默认值:'(组织)/(模块)/(修订)/(工件)-(修订)(-[分类器])。(ext)”

设置部署的Ivy构件模式。

——扫描

(默认值:false)

如果您希望在上传之前在本地文件系统上对所有文件进行x射线扫描,则设置此设置,如果发现任何文件易受攻击,则跳过上传。

- - -格式

(默认:表)

应该与——scan选项一起使用。定义扫描输出格式。接受表或json作为值。

命令参数
该命令不接受参数

运行它

gradle命令触发gradle客户端,同时解决依赖关系并将工件部署到Artifactory。

在运行gradle命令首次在项目上执行时,该项目应配置gradle-config命令。

如果运行JFrog CLI的机器无法访问internet,请务必阅读下载Maven和Gradle Extractor jar文件部分。


命令参数和标志如下表所示:

命令名

gradle

缩写
gradle
命令选项

——线程

(默认值:3)

用于上传构建构件的线程数。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

命令参数
该命令接受与gradle客户端相同的参数和选项。
例子

示例1

属性构建项目artifactoryPublish任务,同时从Artifactory中解析和部署工件。

jf gradle清除artifactoryPublish -b path/to/build.gradle . jf gradle清除artifactoryPublish -b path/to/build.gradle . jf


使用MSBuild运行构建

JFrog CLI包括与MSBuild和Artifactory的集成,允许您解决依赖关系,并从Artifactory部署构建工件,同时收集构建信息并将其存储在Artifactory中。这是通过在您的搜索路径中有JFrog CLI并将JFrog CLI命令添加到MSBuild来完成的csproj文件。

详情请参阅我们的MSBuild项目示例在GitHub上。

管理Docker映像

JFrog CLI完全支持使用运行在同一台机器上的docker客户端从Artifactory提取和发布docker映像。这让你可以收集build-info为你的docker构建,然后发布到Artifactory。您还可以在Artifactory中将推送的docker映像从一个存储库提升到另一个存储库。

要构建docker映像并将其推送到Artifactory,请遵循以下步骤:

  1. 确保Artifactory可以用作docker注册表。详情请参阅Docker和Artifactory入门在JFrog Artifactory用户指南。
  2. 确保安装的docker客户端有版本17.07.0-ce (2017-08-29)或以上。要验证这一点,请运行码头工人- v
  3. 要确保docker客户端和Artifactory docker注册表被正确配置为一起工作,请运行以下代码片段。

    docker pull hello-world docker tag hello-world:latest /hello-world:最新docker登录 docker push /hello-world:latest

    如果所有配置都正确,那么推送包括hello-world图像在内的任何图像都应该成功上传到Artifactory。

docker命令

当运行docker-pull和docker-push命令时,CLI将首先尝试登录docker注册表。
如果登录失败,该命令将不会执行。

例子

查看我们的GitHub上的docker项目示例

使用Docker客户端提取Docker映像

运行docker-pull命令允许从Artifactory中提取docker图像,同时收集构建信息并将其存储在本地,以便稍后可以将其发布到Artifactory构建发布命令。

命令参数和标志如下表所示:


命令名

码头工人拉

缩写
dpl
命令选项

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——skip-login

(默认值:false)

如果您希望该命令跳过执行docker登录,则设置为true。

命令参数
docker客户端/
例子
Jf docker拉my-docker注册表。Io /my-docker-image:latest——build-name=my-build-name——build-number=7

类收集的构建信息然后可以发布docker-pull命令到Artifactory,使用构建发布命令。


使用Docker客户端推送Docker镜像

在使用docker客户端构建映像之后,docker-push命令将图像层推送到Artifactory,同时收集构建信息并将其存储在本地,以便稍后可以使用构建发布命令。

命令参数和标志如下表所示:


命令名

码头工人推

缩写
dp
命令选项

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——skip-login

(默认值:false)

如果您希望该命令跳过执行docker登录,则设置为true。

——线程

(默认值:3)

工作线程数。

——详细介绍

(默认值:false)

将true设置为包含受影响文件的列表,作为命令输出摘要的一部分。

命令参数
docker客户端/
例子
Jf docker push my-docker-registry。Io /my-docker-image:latest——build-name=my-build-name——build-number=7

类收集的构建信息然后可以发布docker-push命令到Artifactory,使用构建发布命令。


使用Podman提取Docker图像

Podman是一个无守护进程的容器引擎,用于开发、管理和运行OCI容器。运行podman-pull命令允许使用podman从Artifactory中提取docker图像,同时收集构建信息并将其存储在本地,以便稍后可以使用构建发布命令。

命令参数和标志如下表所示:

命令名

rt podman-pull

缩写
rt ppl
命令选项

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——skip-login

(默认值:false)

如果您希望该命令跳过执行docker登录,则设置为true。

命令参数

图像标记

要拉的docker映像标记。

源库

Artifactory中的源存储库。

例子
Jf rt podman-pull my-docker-registry。Io /my-docker-image:latest docker-local——build-name=my-build-name——build-number=7

类收集的构建信息然后可以发布podman-pull命令到Artifactory,使用构建发布命令。


使用Podman推送Docker图像

Podman是一个无守护进程的容器引擎,用于开发、管理和运行OCI容器。在建立了你的形象之后,播客人命令将图像层推送到Artifactory,同时收集构建信息并将其存储在本地,以便稍后可以使用构建发布命令。

命令参数和标志如下表所示:


命令名

rt podman-push

缩写
rt页
命令选项

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——skip-login

(默认值:false)

如果您希望该命令跳过执行docker登录,则设置为true。

——线程

(默认值:3)

工作线程数。

——详细介绍

(默认值:false)

设置为true,将受影响文件的列表作为命令输出摘要的一部分。

命令参数

图像标记

要推送的docker图像标记。

目标库

Artifactory中的目标存储库。

例子
Jf rt podman-push my-docker-registry。Io /my-docker-image:latest docker-local——build-name=my-build-name——build-number=7

类收集的构建信息然后可以发布podman-push命令到Artifactory,使用构建发布命令。


使用Kaniko推送Docker映像

JFrog CLI允许将容器推到Artifactory使用Kaniko,同时收集构建信息并将其存储在Artifactory中。
详情请参阅我们的Kaniko项目在GitHub上的例子

使用buildx推送Docker图像

JFrog CLI允许将容器推到Artifactory使用b同时收集构建信息并将其存储在Artifactory中。
详情请参阅我们的GitHub上的buildx项目示例

使用OpenShift命令行推送Docker镜像

JFrog CLI允许将容器推送到ArtifactoryOpenShift CLI,同时收集构建信息并将其存储在Artifactory中。
详情请参阅我们的在GitHub上的OpenShift构建项目示例


将发布的Docker映像添加到Build-Info

build-docker-create命令允许在build-info中添加一个已经发布到Artifactory的docker映像。这build-info可以稍后发布到Artifactory,使用构建发布命令。


命令名

rt build-docker-create

缩写
rt下死点
命令选项

——图像文件

包含一行的文件路径,格式如下:IMAGE-TAG@sha256:MANIFEST-SHA256。例如:

Cat image-file-details superfrog-docker.jfrog.io/hello-frog@sha256:30f04e684493fb5ccc030969df6de0

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——skip-login

(默认值:false)

如果您希望该命令跳过执行docker登录,则设置为true。

——线程

(默认值:3)

工作线程数。

命令参数

目标库

将映像推送到的存储库的名称。

例子
jf rt bdc docker-local——image-file image-file-details——build-name myBuild——build-number

类收集的构建信息然后可以发布podman-push命令到Artifactory,使用构建发布命令。


Docker形象推广

提升是将一组工件从一个存储库移动或复制到另一个存储库的操作,以支持工件的生命周期。说到docker image,有两种方法来推广推送到Artifactory的docker image:

  1. 为docker映像创建构建信息,然后使用Jf rt建设推广命令。
  2. 使用Jf rt docker-promote命令,如下所示。

命令参数和标志如下表所示:

命令名

rt docker-promote

缩写
rt dpr
命令选项

——服务器id

(可选)

使用config命令配置的服务器ID。如果不指定,则使用默认配置的Artifactory服务器。

——复制

(默认值:false)

如果设置为true, Docker映像将被复制到目标存储库,否则将被移动。

——source-tag

(可选)

要提升的标记名称。

——target-docker-image

(可选)

Docker目标映像名称。

——target-tag

(可选)

提升后分配图像的目标标记。

命令参数

源docker镜像

要推广的docker映像名称。

源库

Artifactory中的源存储库。

目标库 Artifactory中的目标存储库。
例子

促进hello world的Docker映像docker-dev-local存储库到docker-staging-local存储库。

Jf rt docker-promote hello-world docker-dev-local docker-staging-local


使用Npm客户端构建Npm包

JFrog CLI提供了使用npm客户端构建npm包的全面支持。这允许你解决npm依赖,并从Artifactory发布你的npm包,同时收集构建信息并将其存储在Artifactory中。

在构建时遵循这些指导方针npm包:

  • 你可以从任何类型的npm存储库中下载npm包——本地、远程或虚拟,但你只能发布到本地或虚拟的Artifactory存储库,其中包含本地存储库。要发布到虚拟存储库,首先需要设置默认的本地存储库。详情请参阅部署到虚拟存储库

  • npm-publish命令运行时,JFrog CLI运行命令在后台。包操作之后是一个上传,这不是基于npm客户端的publish命令。因此,如果你的npm包包含prepublishpostpublish脚本,重命名为预先包装而且postpack,分别。

需求

Npm客户端5.4.0及以上版本。

Artifactory 5.5.2及以上版本。

设置npm存储库

在使用npm-installnpm-ci而且npm-publish命令,项目需要预先配置为Artifactory服务器和存储库,以用于构建和发布项目。的npm-config命令应使用一次以将配置添加到项目。该命令应该在项目的根目录中运行。文件中的命令保存配置.jfrog位于项目根目录的目录。

命令名

npm-config

缩写
npmc
命令选项

——全球

(可选)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-resolve

(可选)

用于解析的Artifactory服务器ID。服务器应该使用'jfrog c add'命令进行配置。

——server-id-deploy

(可选)

用于部署的Artifactory服务器ID。服务器应该使用'jfrog c add'命令进行配置。

——repo-resolve

(可选)

用于依赖项解析的存储库。

——repo-deploy

(可选)

用于构件部署的存储库。

命令参数
该命令不接受参数

安装Npm包

npm-install而且npm-ci命令执行npm安装而且ci命令,从NPM存储库中获取NPM依赖项。

在运行npm-installnpm-ci命令对项目进行配置时,应使用npm-config命令。

命令参数和标志如下表所示:

命令名

npm

缩写

命令选项

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——线程

(默认值:3)

构建信息收集的工作线程数。

命令参数
该命令接受与npm客户端相同的参数和选项。
例子
示例1

下面的示例安装依赖项,并将其作为构建的一部分在本地记录my-build-name / 1.属性将构建信息发布到Artifactory构建发布命令。通过配置的Artifactory服务器和存储库解析依赖项npm-config命令。

Jf NPM install——build-name=my-build-name——build-number=1

示例2

下面的示例安装依赖项。通过配置的Artifactory服务器和存储库解析依赖项npm-config命令。

Jf NPM安装

示例3

下面的示例使用npm-ci命令安装依赖项。通过配置的Artifactory服务器和存储库解析依赖项npm-config命令。

Jf NPM ci


将Npm包发布到Artifactory中

npm-publish命令将NPM包打包并部署到指定的NPM存储库。

在第一次对项目运行npm-publish命令之前,应该使用npm-config命令。该配置包括应该将包部署到的Artifactory服务器和存储库。

如果你的npm包包含prepublishpostpublish脚本,请参考上面的指导方针。

命令参数和标志如下表所示:

命令名

npm发布

缩写

命令选项

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——详细介绍

(默认值:false)

将true设置为包含受影响文件的列表,作为命令输出摘要的一部分。

——扫描

(默认值:false)

如果您希望在上传之前在本地文件系统上对所有文件进行x射线扫描,则设置此设置,如果发现任何文件易受攻击,则跳过上传。

- - -格式

(默认:表)

应该与——scan选项一起使用。定义扫描输出格式。接受表或json作为值。

命令参数
命令所接受的参数和选项与npm包命令预计。
例子

打包和发布npm包,并在本地将其记录为构建的一部分my-build-name / 1,执行以下命令。属性将构建信息发布到Artifactory构建发布命令。包被发布到Artifactory服务器和存储库npm-config命令。

Jf NPM发布——build-name=my-build-name——build-number=1

使用Yarn客户端构建Npm包

JFrog CLI提供了使用yarn客户端构建npm包的全面支持。这允许你解决npm依赖,同时收集构建信息并将其存储在Artifactory中。你可以从任何类型的npm存储库中下载npm包——本地的、远程的或虚拟的。方法支持将包发布到本地npm存储库Jf rt上传命令。

支持Yarn 2.4.0及以上版本。

设置npm存储库

在使用jfrog纱命令,该项目需要预先配置Artifactory服务器和存储库,以用于构建该项目。的yarn-config命令应使用一次以将配置添加到项目。该命令应该在项目的根目录中运行。文件中的命令保存配置.jfrog位于项目根目录的目录。

命令名

yarn-config

缩写
yarnc
命令选项

——全球

(可选)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-resolve

(可选)

用于解析的Artifactory服务器ID。服务器应该使用'jf c add'命令进行配置。

——repo-resolve

(可选)

用于依赖项解析的存储库。

命令参数
该命令不接受参数

安装Npm包

摩根富林明纱命令执行yarn客户端,从NPM存储库中获取NPM依赖项。

在运行命令对项目进行配置时,应使用yarn-config命令。

命令参数和标志如下表所示:

命令名

命令选项

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——线程

(默认值:3)

构建信息收集的工作线程数。

命令参数
该命令接受与yarn客户端相同的参数和选项。
例子
示例1

下面的示例安装依赖项,并将其作为构建的一部分在本地记录my-build-name / 1.属性将构建信息发布到Artifactory构建发布命令。通过配置的Artifactory服务器和存储库解析依赖项yarn-config命令。

Jf yarn install——build-name=my-build-name——build-number=1


示例2

下面的示例安装依赖项。通过配置的Artifactory服务器和存储库解析依赖项yarn-config命令。

Jf纱装置


构建运行包

一般

JFrog CLI为使用Go客户端构建Go包提供了全面支持。这允许解析Go依赖项从和发布你的Go包到Artifactory,同时收集构建信息并将其存储在Artifactory。

需求

JFrog CLI客户端1.20.0及以上版本。

Artifactory版本6.1.0及以上。

Go客户端版本1.11.0及以上。

示例项目

为了帮助您入门,您可以使用GitHub上的这个示例项目

设置Go存储库

在使用JFrog CLI使用Artifactory构建Go项目之前,首先需要为项目设置解决方案和部署存储库。

下面是设置存储库的方法。

  1. CD到Go项目的根目录。
  2. 运行Jf rt go-config命令。
命令名

go-config

缩写

命令选项

——全球

(默认错误)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-resolve

(可选)

用于解析的Artifactory服务器ID。服务器应该使用'jf c add'命令进行配置。

——server-id-deploy

(可选)

用于部署的Artifactory服务器ID。服务器应该使用'jf c add'命令进行配置。

——repo-resolve

(可选)

用于依赖项解析的存储库。

——repo-deploy

(可选)

用于构件部署的存储库。

例子
示例1

为这个go项目设置存储库。

摩根富林明go-config
示例2

为该机器上的所有go项目设置存储库。

Jf go-config—全局


运行Go命令

命令触发go客户端。

在运行命令对项目进行配置时,应使用go-config命令。

命令参数和标志如下表所示:


命令名

缩写
命令选项

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——no-fallback

(默认值:false)

设置为避免从VCS下载包,如果它们在Artifactory中丢失。

——模块

(可选)

build-info的可选模块名称。

命令参数

去命令

该命令接受与go客户端相同的参数和选项。
例子
示例1

下面的示例运行Go build命令。依赖关系通过go-virtual存储库从Artifactory解析。

在使用这个示例之前,请确保使用Go -config命令为Go项目设置存储库。

去建吧

示例2

下面的例子运行Go build命令,同时在本地build name下记录build-info构建以及建造号1属性将构建信息发布到Artifactory构建发布命令。

在使用这个示例之前,请确保使用Go -config命令为Go项目设置存储库。

去build——build-name=my-build——build-number=1


发布Go包到Artifactory

go-publish命令打包并将Go包部署到Artifactory中指定的Go存储库。

在运行go-publish命令对项目进行配置时,应使用go-config命令。

命令参数和标志如下表所示:


命令名

go-publish

缩写
全科医生
命令选项

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

——详细介绍

(默认值:false)

将true设置为包含受影响文件的列表,作为命令输出摘要的一部分。

命令参数

版本 正在发布的Go项目的版本
例子
示例1

要打包并发布Go包,请运行以下命令。在首次对项目运行此命令之前,应使用go-config命令。

Jf gp v1.2.3
示例2

打包和发布Go包,并将构建信息记录为构建的一部分my-build-name / 1,执行以下命令。属性将构建信息发布到Artifactory构建发布命令。在首次对项目运行此命令之前,应使用go-config命令。

Jf gp v1.2.3——build-name=my-build-name——build-number=1

构建Python包

JFrog CLI为构建Python pac提供了全面支持Kages使用皮普而且pipenv和诗歌包安装。这允许解析python依赖项从Artifactory,同时记录下载包。下载的包作为依赖项存储在Artifactory中的build-info中。

一旦安装包,t然后可以使用pip、pipenv或poetry客户端构建和打包Python项目。一旦构建完成,可以使用JFrog CLI的上传命令将生成的工件上传到Artifactory,并在build-info中注册为工件。

示例项目

为了帮助您入门,您可以使用GitHub上的示例项目

设置Python存储库

在使用JFrog CLI使用Artifactory构建Python项目之前,首先需要为项目设置存储库。

下面是设置存储库的方法。

  1. CD到Python项目的根目录。
  2. 运行摩根富林明pip-configJf pipenv-config或Jf poetry-config c命令,这取决于您使用的是PIP还是pipenv客户端。
命令名

Pip-config / pipenv-config / poem -config

缩写
Pipc / pipec / poc
命令选项

——全球

(默认错误)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-resolve

(可选)

用于解析的Artifactory服务器ID。服务器应该使用'jf c add'命令进行配置。

——repo-resolve

(可选)

用于依赖项解析的存储库。

例子
示例1

在使用pip客户端时,为这个Python项目设置存储库。

摩根富林明pipc
示例2

在此机器上使用pip客户端为所有Python项目设置存储库。

Jf pipc——全球
示例3

在使用pipenv客户端时,为这个Python项目设置存储库。

摩根富林明pipec
示例4

在此机器上使用poetry客户端为所有Python项目设置存储库。

Jf poc—全球
示例5

在使用诗词客户端时,为这个Python项目设置存储库。

摩根富林明poc
例子6

在此机器上使用pipenv客户端为所有Python项目设置存储库。

Jf pipec——全球

安装Python包

pip安装pipenv安装而且诗歌安装命令使用皮普,pipenv而且诗歌客户端分别安装Artifactory的项目依赖项。命令还可以将这些包记录为构建依赖项,作为发布到Artifactory的构建信息的一部分。

在运行pip安装pipenv安装而且诗歌安装命令首次在项目上配置时,应使用pip-configpipenv-confiogpoetry-config命令分别。

记录所有依赖项

JFrog CLI将安装的包记录为build-info依赖项。记录的依赖项是在执行'jf rt pip-install'命令期间安装的包。在已经安装了一些包的Python环境中运行该命令时已安装的包不会作为build-info的一部分被包含,因为它们最初不是由JFrog CLI安装的。在这种情况下,将向日志中添加一条警告消息。

如何包括所有的包在构建信息?

方法缓存所有已安装包的详细信息Jf PIP安装和Jf pipenv安装命令.jfrog /项目/ deps.cache.json文件,位于项目的根目录下。JFrog CLI使用这个缓存在build-info中包含之前安装的包。
如果Python环境在第一次执行install命令之前已经安装了一些包,那么这些之前安装的包将从缓存中丢失,因此不会包含在build-info中。

运行带有'no-cache-dir'和'force-重装' pip选项的install命令,应该重新下载并安装这些包,因此它们将包含在build-info中并添加到缓存中。还建议从虚拟环境

命令名

PIP / pipenv /诗歌

缩写


命令选项


——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

命令参数


脉冲参数

pip-install命令的参数和选项。


例子

示例1

下面的命令触发pip install,同时将构建依赖项记录为构建名称的一部分构建以及建造号1

Jf PIP安装。——build-name my-build -number 1

示例2

下面的命令触发pipenv install,同时将构建依赖项记录为构建名称的一部分构建以及建造号1

Jf pipenv安装。——build-name my-build -number 1

示例3

下面是命令触发诗意安装,同时将构建依赖项记录为构建名称的一部分构建以及建造号1

Jf诗装。——build-name my-build -number 1

构建NuGet包

JFrog CLI提供了完全支持恢复NuGet包使用NuGet客户端或。net Core CLI。这允许你解决NuGet依赖关系从并发布你的NuGet包到Artifactory,同时收集构建信息并存储在Artifactory中。

方法支持NuGet依赖项解析Jf rt nuget命令,该命令使用NuGet客户端或Jf rt dotnet命令,使用。net Core命令行。

要将NuGet包发布到Artifactory,请使用Jf rt上传命令。

设置NuGet存储库

使用前使用nugetdotnet命令,项目需要使用Artifactory服务器和存储库进行预配置,以用于构建项目。

在使用nuget或dotnet命令之前,请先使用nuget-configdotnet-config命令应该分别使用。这些命令使用用于构建的Artifactory服务器和存储库的详细信息来配置项目。nuget-configdotnet-config命令应该在项目的根目录中执行。文件中的命令保存配置.jfrog位于项目根目录的目录。然后,您可以选择将项目源代码存储在.jfrog目录中,或者在签出源代码后创建此配置。

命令选项说明如下:

命令名

Nuget-config / dotnet-config

缩写
Nugetc / dotnetc
命令选项

——全球

(可选)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-resolve

(可选)

用于解析的Artifactory服务器ID。服务器应该使用'jf c add'命令进行配置。

——repo-resolve

(可选)

用于依赖项解析的存储库。

——nuget-v2

(默认值:false)
如果你想在从Artifactory(而不是NuGet V3)恢复包时使用NuGet V2协议,则设置为true。

命令参数
该命令不接受参数

运行Nuget和Dotnet命令

nuget命令执行NuGet可以客户端dotnet命令执行.NET Core CLI

在运行nuget命令对项目进行配置时,应使用nuget-config命令。

在运行dotnet命令对项目进行配置时,应使用dotnet-config命令。

命令参数和选项如下表所示:

命令名

Nuget / dotnet

缩写


命令选项


——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名称。

命令参数

该命令接受与NuGet客户端/ . net Core CLI相同的参数和选项。
例子
示例1

在当前目录下为解决方案运行nuget restore,同时从预配置的Artifactory存储库解析nuget依赖项。使用NuGet客户端执行此命令

Jf nuget恢复
示例2

在当前目录下为解决方案运行dotnet restore,同时从预配置的Artifactory存储库解析NuGet依赖项。使用.NET Core CLI执行该命令

Jf dotnet恢复
示例3

在当前目录下为解决方案运行dotnet restore,同时从预配置的Artifactory存储库解析NuGet依赖项。

另外,将构建信息记录为构建的一部分my-build-name / 1属性将构建信息发布到Artifactory构建发布命令:

Jf dotnet恢复——build-name=my-build-name——build-number=1

包装和发布Terraform模块

JFrog CLI支持打包Terraform模块,并将它们发布到Artifactory中的Terraform存储库中Jf terraform发布命令。

我们建议使用这个例子项目在GitHub上为了一个简单的启动。

在使用Jf terraform发布命令时,首先需要为您的Terraform项目配置Terraform存储库。要做到这一点,请遵循以下步骤:

  1. 将'cd'导入Terraform项目的根目录。
  2. 运行交互式摩根富林明terraform-config命令并设置部署存储库名称。

摩根富林明terraform-config命令将存储库名称存储在.jfrog位于当前目录中的目录。您还可以添加——全球命令选项,如果您希望将存储库配置应用于计算机上的所有项目。在这种情况下,配置将保存在JFrog CLI的主目录中。

命令选项说明如下:

命令名

terraform-config

缩写
交通
命令选项

——全球

(可选)

如果您希望配置为全局的(对于机器上的所有项目),则将其设置为true。特定的项目可以覆盖全局配置。

——server-id-deploy

(可选)

用于部署的Artifactory服务器ID。服务器应该使用'jf c add'命令进行配置。

——repo-deploy

(可选)

用于构件部署的存储库。

命令参数
该命令不接受参数
例子
示例1

在项目的根目录中为项目配置Terraform存储库

摩根富林明交通
示例2

为机器上的所有项目配置Terraform存储库

Jf TFC—全球


起程拓殖发布命令为当前目录中的模块创建一个terraform包,并将其发布到Artifactory中已配置的terraform存储库。

命令参数和选项如下表所示:

命令名

起程拓殖发布

缩写

tf p

命令选项


——名称空间

(强制)

Terraform模块命名空间

——供应商

(强制)

Terraform模块提供者

——标签

(强制)

Terraform模块标签

——除外

(可选)

以分号分隔的排除模式列表通配符。模块内匹配模式之一的路径将从部署的包中排除。

——打造了品牌

(可选)

构建的名字。详情请参阅构建集成

——版本号

(可选)

构建数字。详情请参阅构建集成

——项目

命令参数

该命令不接受参数
例子
示例1

该命令在当前目录中为Terraform模块创建一个包,并将其发布到Terraform存储库(由Jf TFC命令)提供名称、提供者和标记。

jftf p——命名空间示例——提供者aws——标记v0.0.1
示例2

该命令在当前目录中为Terraform模块创建一个包,并将其发布到Terraform存储库(由Jf TFC命令)提供命名空间、提供者和标记。发布的包将不包括包含这两者的模块路径测验忽略

Jf tf p——命名空间示例——提供者aws——标记v0.0.1——排除“*test*;*ignore*”
示例3

该命令在当前目录中为Terraform模块创建一个包,并将其发布到Terraform存储库(由摩根富林明交通命令)提供名称、提供程序和标记。发布的模块将被记录为一个名为构建有版本号1.的Jf rt bp命令发布构建到Artifactory。

Jf tf p——命名空间示例——provider aws——tag v0.0.1——build-name my-build——build-number 1 Jf rt bp my-build 1

管理用户和组

JFrog CLI提供了一组用于管理用户和组的命令。通过提供用户详细信息作为输入的CSV文件,您可以创建和删除大量用户。您还可以向组中添加用户列表,以及创建和删除组。

创建用户

该命令允许创建大量用户。用户的详细信息以CSV格式文件提供。这是文件格式。

"username","password","email"," username1","password1","john@c.com"," username2","password1","alice@c.com"

CSV中的第一行是单元格的标题。它是必选项,命令使用它将单元格值映射到用户的详细信息。

CSV可以包含具有不同标题的附加列,该命令将忽略这些列。

命令名

rt用户创建

缩写

rt加州大学

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——csv

(强制)

包含用户详细信息的CSV文件的路径。文件的第一行应该包括姓名、密码、电子邮件标题。

——取代

(可选)

如果希望替换现有用户或组,则设置为true。

——用户组

(可选)

要关联的新用户的逗号分隔组列表。

命令参数
该命令不接受参数
例子

根据路径/to/users.csv文件中定义的详细信息创建新用户。

Jf rt users-create——csv路径/到/users.csv


删除用户

该命令允许大量删除用户。该命令列出要删除的用户名列表。列表可以以逗号分隔的参数形式提供,也可以以CSV文件的形式提供,CSV文件包含一列用户名。这是CSV格式。

"username" "username1" "username2" "username2"

CSV中的第一行是单元格的标题。它是必选项,命令使用它将单元格值映射到用户的详细信息。

CSV可以包含具有不同标题的附加列,该命令将忽略这些列。

命令名

rt用户删除

缩写

rt udel

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——csv

(可选)

包含要删除的用户名的csv文件的路径。文件的第一行是为单元格的标题保留的。它必须包含“username”头。

命令参数

用户列表

要删除的用户名列表,以逗号分隔。如果使用——csv命令选项,则此参数变为可选。

示例1

根据“/to/users.csv”文件中定义的用户名删除用户。

Jf rt users-delete——csv路径/到/users.csv
示例2

根据用户名u1、u2和u3删除用户。

Jf rt用户删除“u1,u2,u3”


创建组

该命令创建一个新的用户组。

命令名

rt组设计

缩写

rt gc

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

命令参数

组名称

要创建的组的名称。

例子

创建一个新的组名评论家

Jf rt组创建审阅器

向组中添加用户

此命令将现有用户列表添加到组中。

命令名

rt group-add-users

缩写

rt高斯

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

命令参数

组名称

要向其中添加用户的组的名称。

用户列表

要添加到指定组的用户名列表,以逗号分隔。

例子

将用户名为u1、u2和u3的用户添加到评审员组。

Jf rt group-add users " reviews " "u1,u2,u3"


删除组

该命令用于删除组。

命令名

rt group-delete

缩写

rt gdel

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

命令参数

组名称

要删除的组的名称。

例子

删除评论家组。

删除“审阅者”

管理存储库

JFrog CLI提供了一组用于管理Artifactory存储库的命令。您可以创建、更新和删除存储库。为了便于管理存储库,创建和更新存储库的命令接受预定义的配置模板文件。该模板文件还可以包含变量。稍后在创建或更新存储库时,可以将其替换为值。配置模板文件使用Jf rt回购模板命令。

创建/配置模板

这是一个交互式命令,用于创建配置模板文件。属性的参数应使用此文件重新创造或者是Jf rt回购更新命令。

当使用此命令创建模板时,您还可以提供可替换的变量,而不是修复值。然后,当模板用于创建或更新存储库时,可以提供值来替换模板中的变量。

命令名

rt repo-template

缩写

rt rpt

命令选项

该命令没有选项。

命令参数

模板路径

命令创建的模板文件的本地文件系统路径。该文件不应该存在。

例子

创建配置模板,使用存储库名称的变量。然后,使用该模板创建一个存储库,并提供存储库名称来替换变量。

复制模板模板。选择模板类型(按Tab键显示选项):create插入存储库键> ${repo-name}选择存储库类(按Tab键显示选项):local选择存储库的包类型(按Tab键显示选项):generic您可以随时键入“:x”保存并退出。选择下一个配置键(按Tab键选择选项)::x [Info]存储库配置模板成功创建在template.json。重新创建模板。. json——vars "repo-name=my-repo"[提示]创建本地存储库…[提示]创建存储库完成。


创建/更新存储库

这两个命令创建一个新的存储库并更新现有的存储库。命令都接受配置模板作为参数,配置模板可以由Jf rt回购模板命令。该模板还支持变量,可以用使用时提供的值替换变量。

命令名

Rt repo-create / Rt repo-update

缩写

Rt rc / Rt ru

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——var

(可选)

模板中要替换的变量列表,格式为"key1=value1;key2=value2;…"在模板中,变量的用法如下:${key1}。

命令参数

模板路径

指定用于创建存储库的模板文件的本地文件系统路径。模板可通过“jf rt rpt”命令创建。

示例1

方法创建存储库template.json以前生成的文件repo-template命令。

重新创建模板。json
示例2

方法更新存储库template.json以前生成的文件repo-template命令。

重新更新模板。json
示例3

方法更新存储库template.json以前生成的文件repo-template命令。将模板中的repo-name变量替换为更新后的存储库的名称。

重新更新模板。json——var"repo-name=my-repo"

删除存储库

该命令永久删除存储库,包括其所有内容。


rt repo-delete

缩写

rt rdel

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——安静

(默认值:$ CI)

设置为true则跳过删除确认消息。

命令参数

库的关键

指定应该删除的存储库。可以使用通配符指定多个存储库。

例子

从Artifactory中删除存储库。

删除泛型-本地

管理复制

JFrog CLI提供了在Artifactory中创建和删除复制作业的命令。为了便于创建复制作业,创建复制作业的命令接受一个预定义的配置模板文件。该模板文件还可以包含变量。稍后可以在创建复制作业时将其替换为值。配置模板文件使用复制模板命令。

创建配置模板

命令创建一个配置模板文件,该文件应用作参数复制-创建命令。

当使用此命令创建模板时,您还可以提供可替换的变量,而不是修复值。然后,当使用模板创建复制作业时,可以提供值来替换模板中的变量。

命令名

rt复制模板

缩写

rt rplt

命令选项

该命令没有选项。

命令参数

模板路径

命令创建的模板文件的本地文件系统路径。该文件不应该存在。

例子

创建一个配置模板,其中包含源存储库和目标存储库的两个变量。然后,使用该模板创建一个复制作业,并提供源和目标存储库名称以替换变量。

$ jf rt RPLT模板。Select replication job type(按Tab键获取选项):push Enter source repo key > ${source} Enter target repo key > ${target}输入目标服务器id(按Tab键获取选项):my-server-id输入频率cron表达式(例如0 0 12 * * ?将每天复制)> 0 0 12 * * ?您可以在任何时候输入“:x”保存并退出。选择下一个属性>:x [Info]复制创建配置模板成功创建在template.json。$ $ jf rt RPLC模板。json——vars "source=generic-local;target=generic-local" [Info]创建复制任务完成。


创建复制任务

该命令为存储库创建一个新的复制作业。命令接受配置模板作为参数,该模板可以由复制模板命令。该模板还支持变量,可以用使用时提供的值替换变量。

命令名

replication-create

缩写

rt rplc

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——var

(可选)

模板中要替换的变量列表,格式为"key1=value1;key2=value2;…"在模板中,变量的用法如下:${key1}。

命令参数

模板路径

指定用于创建复制作业的模板文件的本地文件系统路径。模板可通过“jf rt rplt”命令创建。

示例1

方法创建复制作业template.json以前生成的文件复制模板命令。

RPLC template.json
示例2

方法更新复制作业template.json以前生成的文件复制模板命令。取代而且目标包含复制源和目标存储库名称的模板中的变量。

RPLC template.json——var"source=my-source-repo;target=my-target-repo"

删除复制任务

该命令将从存储库中永久删除复制作业。


rt replication-delete

缩写

rt rpldel

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——quiete

(默认值:$ CI)

设置为true则跳过删除确认消息。

命令参数

库的关键

要从中删除复制的存储库。

例子

从Artifactory中删除存储库。

Jf rt - rpldel my-repo-name

管理权限目标

JFrog CLI提供了在Artifactory中创建、更新和删除权限目标的命令。为了便于创建和更新权限目标,创建和更新权限目标的命令接受预定义的配置模板文件。该模板文件还可以包含变量。稍后可以在创建或更新权限目标时将其替换为值。配置模板文件使用Jf rt权限目标模板命令。

创建配置模板

命令创建一个配置模板文件,该文件应用作参数Jf rt permission-target-create而且Jf rt权限目标更新命令。

命令名

rt permission-target-template

缩写

rt ptt

命令选项

该命令没有选项。

命令参数

模板路径

命令创建的模板文件的本地文件系统路径。该文件不应该存在。

创建/更新权限目标

该命令创建一个新的权限目标。命令接受配置模板作为参数,该模板可以由Jf rt权限目标模板命令。该模板还支持变量,可以用使用时提供的值替换变量。

命令名

Permission-target-create / permission-target-update

缩写

Rt PTC / Rt ptu

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——var

(可选)

模板中要替换的变量列表,格式为"key1=value1;key2=value2;…"在模板中,变量的用法如下:${key1}。

命令参数

模板路径

指定用于创建或更新权限目标的模板文件的本地文件系统路径。模板可通过“jf rt ptt”命令创建。

删除权限目标

该命令将永久删除权限目标。


rt permission-target-delete

缩写

rt ptdel

命令选项


——服务器id

(可选)

使用config命令配置的Artifactory服务器ID。

——quiete

(默认值:$ CI)

设置为true则跳过删除确认消息。

命令参数

权限目标名称

应该删除的权限目标。


使用文件规格

要实现复杂的文件操作,您可能需要几个CLI命令。例如,您可能需要将几组不同的文件上传到不同的存储库。为了简化这些复杂操作的实现,可以应用JFrog CLI下载,上传,移动、复制而且删除命令与JFrog Artifactory使用——规范选项替换内联命令参数和选项。同样地,你可以创建和更新发布包通过提供——规范命令选项。每个命令都使用JSON格式的文件规范数组和相应的模式,如下面的部分所述。请注意,如果这些命令中的任何一个是同时使用内联选项和文件规范发出的,那么内联选项将覆盖文件规范中指定的对应命令。

文件规格模式

复制和移动命令规范模式

copy和move命令的文件规范模式如下:

{"files": [{"pattern" or "aql": "[必选]","target": "[必选]","props": "[可选]","excludeProps": "[可选]","递归":"[可选,默认值:'true']", "flat": "[可选,默认值:'false']", "排除":["[可选,只在指定'pattern'时适用]"]]],"archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","validateSymlinks": "[可选]","sortBy":["[可选]"],"sortOrder": "[可选,默认值:'asc']", "limit":[可选],"offset":[可选]}]}

下载命令规格架构

下载命令的文件规范模式如下:

{"files": [{"pattern" or "aql": "[必选]","target": "[可选]","props": "[可选]","excludeProps": "[可选]","递归":"[可选,默认值:'true']", "flat": "[可选,默认值:'false']", "排除":["[可选,仅在指定'pattern'时适用]"]],"archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","sortBy":["[可选]"],"sortOrder": "[可选,默认值:'asc']", "limit":[可选],"offset":[可选]}]}

创建和更新发布包命令规范模式

create amd update release bundle命令的文件规范模式如下:

{"files": [{"pattern" or "aql": "[必选]","target": "[可选]","props": "[可选]","excludeProps": "[可选]","recursive": "[可选,默认值:'true']", "flat": "[可选,默认值:'false']", "排除":["[可选,仅在指定'pattern'时适用]"]],"archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","sortBy":["[可选]"],"sortOrder": "[可选,默认值:'asc']", "limit":[可选],"offset":[可选]}]}

上传命令规格架构

upload命令的文件规格架构如下所示:

[{{“文件”:“模式”:“(强制性)”,“目标”:“(强制性)”,“targetProps”:“(可选)”、“递归”:“可选的,默认值是“真正的””、“平”:“(可选的,默认值是“真正的”)”,“正则表达式”:“[可选的,默认值:'假']”,“蚂蚁”:“[可选的,默认值:'假']”,“档案”:“(可选的,必须是:“zip”)”,“除外责任”:["(可选)"]}]}

搜索,设置道具和删除命令规范模式

搜索和删除命令的文件规范模式如下:

{"files": [{"pattern" or "aql": "[必选]","props": "[可选]","excludeProps": "[可选]","递归":"[可选,默认值:'true']", "排除":["[可选,只在指定'pattern'时适用]]"]],"archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","sortBy":["[可选]"],"sortOrder": "[可选,默认值:'asc']", "limit":[可选],"offset":[可选]}]}
例子

下面的示例可以帮助您开始使用文件规格。

示例1:

文件下的所有文件all-my-frogs目录中的my-local-repo存储库到不好的目录中。

{“文件”:[{“模式”:“my-local-repo / all-my-frogs /”,“目标”:“讨厌的/”}]}
示例2:

文件下的所有文件all-my-frogs目录中的my-local-repo存储库到不好的目录中。只下载build号5的构件文件构建


{“文件”:[{“模式”:“my-local-repo / all-my-frogs /”,“目标”:“讨厌的/”,“建设”:“构建/ 5”}]}



示例3:

将AQL查询检索的所有文件下载到不好的目录中。

{"files": [{"aql":{"项。找到":{“回购”:“my-local-repo”,“或“美元:[{”和“美元:[{“路径”:{" $匹配”:“。”}, "name": {"$match": "a1. "在 " } } ] }, { "$ “路径”和“:[{:{" $匹配 ": "*" }, " 名称”:{" $匹配”:“a1。在"}}]}]}}中,"target": "froggy/"}]}
例4:上传
  1. 目录下的所有zip文件2022世界杯阿根廷预选赛赛程目录到邮政编码文件夹,在all-my-frogs存储库。

  2. 目录下的所有TGZ文件2022世界杯阿根廷预选赛赛程目录到tgz文件夹,在all-my-frogs存储库。

  3. 用type = zip和status = ready标记所有zip文件。

  4. 用type = tgz和status = ready标记所有tgz文件。

{“文件”:[{“模式”:“资源/ * . zip”,2022世界杯阿根廷预选赛赛程“目标”:“all-my-frogs / zip /”,“道具”:“type =邮政;状态=准备”},{/ *”模式”:“资源。tgz”、“目标”:“all-my-frogs / tgz”、“道具”:“类型= tgz;状态=准备”}]}
例5:

文件下的所有zip文件2022世界杯阿根廷预选赛赛程目录到邮政编码文件夹,在all-my-frogs存储库。

{“文件”:[{“模式”:“资源/ * . zip”,2022世界杯阿根廷预选赛赛程“目标”:“all-my-frogs / zip /”}]}
例6:

目录下的所有文件(包括子目录)都要打包2022世界杯阿根廷预选赛赛程目录转换为zip压缩包archive.zip的根目录下all-my-frogs存储库。

{“文件”:[{“模式”:“资源/”,“档案”:“邮政2022世界杯阿根廷预选赛赛程编码”,“目标”:“all-my-frogs /”}]}
例7:

文件下的所有文件all-my-frogs目录中的my-local-repo存储库除了扩展名为.txt的文件和all-my-frogs目录和道具。前缀。

注意,排除模式不包括存储库。

{“文件”:[{“模式”:“my-local-repo / all-my-frogs /”,“除外责任”:[" * . txt "、" all-my-frog /道具。*"]}]}
例8:

下载最新上传的文件all-my-frogs目录中的my-local-repo存储库。

{“文件”:[{“模式”:“my-local-repo / all-my-frogs /”,“目标”:“all-my-frogs /文件/”、“sortBy”:“创造”,“排序方式”:“desc”、“限制”:1}]}
例9:

的下面搜索三个最大的文件all-my-frogs目录中的my-local-repo存储库。如果有相同大小的文件,按创建日期“内部”对它们进行排序。

{“文件”:[{“模式”:“my-local-repo / all-my-frogs /”,“sortBy”:“大小”,“创造”,“排序方式”:“desc”、“限制”:3}]}
例10:

下载第二个最新上传的文件all-my-frogs目录中的my-local-repo存储库。

{“文件”:[{“模式”:“my-local-repo / all-my-frogs /”,“目标”:“all-my-frogs /文件/”、“sortBy”:“创造”,“排序方式”:“desc”、“限制”:1、“抵消”:1}]}
例11:

这个例子展示了如何做到这一点根据工件的年龄,删除指定路径下的工件

下面的文件规范找到所有符合以下条件的文件夹:

  1. 它们在my-repo存储库下面。
  2. 它们位于名称与abc-*-xyz匹配的文件夹中,位于存储库的根目录。
  3. 他们的名字匹配ver_*
  4. 它们是7天前形成的。
{"files": [{"aql":{"项。找到":{“回购”:“myrepo”、“路径”:{" $匹配”:“abc - * xyz”},“名字”:{" $匹配”:“ver_ *”},“类型”:“文件夹”,“或“美元:[{”和“美元:[{“创建”:{“美元”:“7 d " } } ] } ] } } } ] }
示例12

这个例子使用了占位符.对于源目录中的每个.tgz文件,在目标存储库中创建一个具有相同名称的相应目录,并将其上传到那里。例如,一个名为froggy的文件。tgz应上传至my-local-rep /不好的.(froggy将在Artifactory中创建一个文件夹)。

{"files": [{"pattern": "(*). {"files": [{"pattern": "(*).]tgz", "target": "my-local-repo/{1}/", } ] }


示例13

这个例子使用了占位符.将所有名称以“frog”开头的文件上传到目标存储库的文件夹frogfiles中,但在其名称后面附加文本“up”。例如,一个名为froggy的文件。tgz应该重新命名froggy.tgz-up。

{“文件”:[{“模式”:“(青蛙*)”,“目标”:“my-local-repo / frogfiles /{1}长”、“递归”:“false”}]}


例14

下面两个例子会导致完全相同的结果。
第一个用到了占位符,而第二个则不是。这两个示例从通用本地存储库下载所有文件到my/local/path/ local文件系统路径下,同时保持原始的Artifactory文件夹层次结构。注意这两个例子中不同的平面值。

{“文件”:[{“模式”:“generic-local /{*}”,“目标”:“我/地方/道路/{1}”、“平”:“真的 " } ] } { " 文件”:[{“模式”:“generic-local /”,“目标”:“我的/地方/道路/”、“平”:“false”}]}

模式验证

JSON模式允许您注释和验证JSON文件。JFrog文件规范模式可在JSON模式存储目录和以下链接:https://github.com/jfrog/jfrog-cli/blob/v2/schema/filespec-schema.json

使用Jetbrains ide (Intellij IDEA, Webstorm, Goland等)?

文件规范模式自动应用于以下文件模式:

* * / * . json文件规范
* * . json文件规范
* .filespec
使用Visual Studio代码?

要应用文件规范模式验证,请安装JFrog VS-Code扩展

或者,将以下内容复制到设置中。json文件:

settings.json
“json。年代chemas": [ { "fileMatch": ["**/filespecs/*.json", "*filespec*.json", "*.filespec"], "url": "https://raw.githubusercontent.com/jfrog/jfrog-cli/v2/schema/filespec-schema.json" } ]

下载Maven和Gradle Extractor jar文件

为了与Maven和Gradle集成,JFrog CLI使用了build-info-extractor jar文件。这些jar文件在第一次需要时由JFrog CLI从jcenter下载。

如果你在一台没有互联网接入的机器上使用JFrog CLI,你可以配置JFrog CLI从Artifactory实例下载这些jar文件。下面是如何配置Artifactory和JFrog CLI来下载jar文件。

  1. 在Artifactory中创建一个远程Maven存储库并命名它提取器创建存储库时,将其配置为代理https://releases.jfrog.io/artifactory/oss-release-local

  2. 确保JFrog CLI知道这个Artifactory服务器,使用j青蛙c表演命令。如果没有,请使用c add命令。

  3. 设置JFROG_CLI_EXTRACTORS_REMOTE环境变量,使用您配置的Artifactory服务器的服务器ID,后跟斜杠,然后是您创建的存储库的名称。例如my-rt-server /萃取器