需要其他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登录凭据对自己进行身份验证,可以使用摩根富林明c添加命令或者为每个命令提供以下选项。

命令选项

描述

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

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

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

要使用Artifactory访问令牌对自己进行身份验证,可以使用摩根富林明c添加命令或者为每个命令提供以下选项。

命令选项

描述

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 URLjfrog c添加命令。

    不要包含您的Artifactory上下文URL

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

  • 配置SSH密钥文件的路径。有两种方法可以做到:
    • 对于每个命令,都使用——ssh-key-path命令选项。
    • 方法指定路径jfrog c添加命令。

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

Artifactory不支持使用客户端证书进行身份验证。然而,如果Artifactory位于HTTP代理(例如Nginx)后面,则可以配置代理以允许使用PEM格式的客户端证书访问Artifactory。
由于证书配置在代理上,Artifactory并不知道它,可能仍然需要使用用户名/密码、用户名/API密钥、访问令牌或RSA密钥进行身份验证。
要使用客户端证书对代理进行身份验证,可以使用config命令配置一次证书,也可以使用——client-cert-path而且——client-cert-ket-path每个命令的命令选项。

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

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

在本例中,您需要通过将这些证书放在安全/确实的事情目录,该目录位于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——递归=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”附加复制的文件名。

“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

(可选)

配置的服务器IDjfrog c添加命令。如果不指定,则使用默认配置的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

(可选)

配置的服务器IDjfrog c添加命令。如果不指定,则使用默认配置的Artifactory服务器。

——规范

(可选)

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

——spec-vars

(可选)

“key1=value1;key2=value2;…”形式的变量列表将在文件规范中被替换。在文件规范中,变量应该如下使用:${key1}。

——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

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)

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

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

以上也适用于——exclements选项。

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

——蚂蚁

(默认值:false)

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

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

以上也适用于——exclements选项。

——线程

(默认值:3)

用于上传的并行线程的数量,每个线程每次上传一个工件。

——即将

(默认值:false)

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

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

——符号链接

(默认值:false)

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

——爆炸

(默认值:false)

如果为true,该命令将在部署到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存储库。

$ jf rt你青蛙。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- deleted ="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下库,文件文件夹,同时维护工件的原始名称。

Jf rt u“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;…”形式的变量列表将在文件规范中被替换。在文件规范中,变量应该如下使用:${key1}。

——道具

(可选)

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)

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

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

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

——递归

(默认值:真实)

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

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

——线程

(默认值:3)

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

——分割

(默认值:3)

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

——重试

(默认值:3)

下载重试次数。

——retry-wait-time

(默认值:0)

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

——min-split

(默认:5120)

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

——即将

(默认值:false)

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

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

——爆炸

(默认值:false)

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

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

支持的归档格式:zip, tar(包括任何压缩版本,如tar.gz), rar. gz。

——validate-symlinks

(默认值:false)

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

——include-dirs

(默认值:false)

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

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

——sync-deletes

(可选)

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

——安静

(默认值:false)

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

——排序

(可选)

用分号分隔的字段的列表,用于排序。字段必须是“条目”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)

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

如果为false,工件将被复制到目标路径,同时维护它们的源路径层次结构。

——递归

(默认值:真实)

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

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

——即将

(默认值:false)

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

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

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

(默认值:3)

用于复制项的线程数。

——排序

(可选)

用分号分隔的字段的列表,用于排序。字段必须是“条目”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)

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

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

——递归

(默认值:真实)

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

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

——即将

(默认值:false)

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

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

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

(默认值:3)

用于移动项目的线程数。

——排序

(可选)

用分号分隔的字段的列表,用于排序。字段必须是“条目”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存储库。

target-frog-repo/rabbit/——props=Version=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。

——递归

(默认值:真实)

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

——安静

(默认值:false)

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

——即将

(默认值:false)

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

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

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

(可选)

用分号分隔的字段的列表,用于排序。字段必须是“条目”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青蛙-repo/兔子/
示例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;…”形式的变量列表将在文件规范中被替换。在文件规范中,变量应该如下使用:${key1}。

——道具

(可选)

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。

——除外

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

——排序

(可选)

用分号分隔的字段的列表,用于排序。字段必须是“条目”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(毫秒)结束。retry-wait-time

命令参数

搜索路径

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

例子

示例1

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

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

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

“frog-repo/rabbit/*.zip”

设置文件属性

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

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

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

——服务器id

(可选)

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

——规范

(可选)

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

——spec-vars

(可选)

“key1=value1;key2=value2;…”形式的变量列表将在文件规范中被替换。在文件规范中,变量应该如下使用:${key1}。

——道具

(可选)

“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。

——除外

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

——排序

(可选)

用分号分隔的字段的列表,用于排序。字段必须是“条目”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”。

Jf rt 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。

——除外

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

——排序

(可选)

用分号分隔的字段的列表,用于排序。字段必须是“条目”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(毫秒)结束。retry-wait-time

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

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

文件属性

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

例子

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

Jf rt delp "generic-local/*.zip" "status,phase"

创建访问令牌

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

命令名

rt access-token-create

缩写
rt atc
命令选项


——组

(默认值:*)

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

——grant-admin

(默认值:false)

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

——到期

(默认:3600)

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

——可刷新的

(默认值:false)

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

——观众

(可选)

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

命令参数

用户名

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

例子

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

$ jf rt atc commander-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目录的目录路径。

例子

示例1

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

$ jf rt GLC
示例2

使用路径/to/ Git /config目录下的. Git目录中的配置,清理Artifactory中的Git LFS文件。

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

运行cUrl

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

此命令只支持Artifactory REST api,可在下面访问https:// < JFrog基URL > / artifactory / api /

命令名

rt旋度


缩写
rt cl
命令选项



——服务器id

(可选)

配置的服务器IDjfrog c添加命令。如果不指定,则使用默认配置的服务器。


命令参数


cUrl参数和标志

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

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

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


例子

示例1

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

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

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

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将收集的构建信息聚合到一个构建中。
方法将记录的构建信息稍后发布到Artifactory构建发布命令。

收集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公元前)命令。

例如,下面的命令收集所有当前已知的环境变量,并将它们附加到构建信息中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或其他bug跟踪系统中的问题),并将它们添加到构建信息中。这些问题是通过从本地git日志中读取git提交消息来收集的。每个提交消息都与预先配置的正则表达式进行匹配,该表达式检索问题ID和问题摘要。收集问题所需的信息从提供给该命令的yaml配置文件中检索。

下表列出了命令的参数和标志:

命令名

rt build-add-git

缩写
rt袋
命令选项


——配置

(可选)

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

——服务器id

(可选)

配置的服务器IDjfrog配置命令.方法将构建信息发布到此服务器构建发布英国石油公司命令。如果提供了该选项,则会覆盖该命令的yaml配置中的serverID值。如果没有提供这两个值,则由jfrog配置命令,使用。

——项目

(可选)

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: my-artifactory-server trackerName: JIRA regexp: (.+-[0-9]+
配置文件属性
属性名 描述
版本 模式版本用于内部使用。不改变!
serverID 配置的Artifactory服务器IDjfrog配置命令.该命令使用该服务器获取关于以前发布的构建的详细信息。的——服务器id命令选项,如果提供,则重写serverID价值。
如果serverID财产和——服务器id命令选项未提供,默认服务器由jfrog配置命令使用。
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状态的构建。方法提升生成时设置生成状态摩根富林明rt build-promote命令。

添加文件作为构建依赖项

下载命令以及从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;…”形式的变量列表将在文件规范中被替换。在文件规范中,变量应该如下使用:${key1}。

——递归

(默认值:真实)

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

——regexp

(可选:假)

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

——即将

(默认值:false)

如果设置为true,则只获取将添加到构建信息中的依赖项的摘要。

——除外

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

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

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

建立数

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

模式

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

例子

示例1

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

my-build-name 7 "path/to/build/dependencies/dir/"


示例2

控件中的所有文件m-local-repoArtifactory存储库,在依赖关系文件夹,作为构建的依赖项。构建名称为my-build-name建筑号是7构建信息只在本地更新。将构建信息发布到Artifactory使用摩根富林明rt构建发布命令。

Jf rt bad 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


聚合发布构建

生成信息,它由摩根富林明rt构建发布命令,可以包含多个模块。build-info中的每个模块表示一个包,它是单个构建步骤的结果,或者换句话说,是一个JFrog CLI命令执行的结果。例如,下面的命令添加一个名为m1到一个名为构建1作为建造号:

上传“a/*.zip”的通用本地——build-name my-build——build-number

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

上传“b/*.zip”通用本地——build-name my-build——build-number

现在您可以使用以下命令将生成的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 #下载的工件aggregation -build/10,相当于下载a/1和b/1 jf rt中的download——build aggregation -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

清理构建

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

下表列出了命令的参数和标志:

命令名

rt清除项目

缩写
rt公元前
命令选项

该命令没有选项。

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


例如,下面的命令会清除为构建收集的所有构建信息my-build-name版本号为18:

Jf rt BC my-build-name18

丢弃Artifactory中的旧构建

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

下表列出了命令的参数和标志:

命令名

rt build-discard

缩写
rt bdi
命令选项

——服务器id

(可选)

使用config命令配置的Sserver 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选项一起使用。定义扫描输出格式。接受table或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工件

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

示例1

运行clean并使用maven安装。

Jf vmn clean install -f path/to/ pam -file . zip

运行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选项一起使用。定义扫描输出格式。接受table或json作为值。

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

运行它

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

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

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


下表列出了命令的参数和标志:

命令名

gradle

缩写
gradle
命令选项

——线程

(默认值:3)

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

——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目的关键。

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

示例1

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

jf gradle clean artifactoryPublish -b路径/到/build.gradle


使用MSBuild运行构建

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

详情请参阅我们的MSBuild工程实例在GitHub上。

码头工人管理图像

JFrog CLI提供了使用运行在同一台机器上的docker客户机从Artifactory和向Artifactory提取和发布docker映像的全面支持。这允许你收集为您的docker构建build-info,然后发布到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,使用构建发布命令。

下表列出了命令的参数和标志:


命令名

rt docker-pull

缩写
rt dpl
命令选项

——服务器id

(可选)

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

——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目的关键。

——模块

(可选)

build-info的可选模块名称。

——skip-login

(默认值:false)

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

命令参数

图像标记

要拖动的docker映像标记。

源库

Artifactory中的源存储库。

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

控件收集的构建信息docker-pull命令到Artifactory构建发布命令。


使用Docker客户端推送Docker映像

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

下表列出了命令的参数和标志:


命令名

rt docker-push

缩写
rt dp
命令选项

——服务器id

(可选)

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

——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目的关键。

——模块

(可选)

build-info的可选模块名称。

——skip-login

(默认值:false)

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

——线程

(默认值:3)

工作线程数。

——详细介绍

(默认值:false)

将true设置为在命令输出摘要中包含受影响文件的列表。

命令参数

图像标记

要推送的docker映像标签。

目标库

Artifactory中的目标存储库。

例子
Jf rt docker-push my-docker-registry。Io /my-docker-image:latest docker-local——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容器。在建立了你的形象之后,podman命令将图像层推送到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中。
详情请参阅我们的GitHub上的Kaniko项目示例


使用OpenShift命令行推送Docker映像

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


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

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


命令名

rt build-docker-create

缩写
rt下死点
命令选项

——图像文件

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

猫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-detail——build-name myBuild——build-number

控件收集的构建信息podman-push命令到Artifactory构建发布命令。


促进码头工人的图片

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

  1. 为docker映像创建构建信息,然后使用摩根富林明rt build-promote命令。
  2. 使用摩根富林明rt docker-promote命令如下所述。

下表列出了命令的参数和标志:

命令名

rt docker-promote

缩写
rt dpr
命令选项

——服务器id

(可选)

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

——复制

(默认值:false)

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

——source-tag

(可选)

要提升的标记名称。

——target-docker-image

(可选)

Docker目标映像名称。

——target-tag

(可选)

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

命令参数

源码头工人形象

要提升的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运行命令在后台。pack动作之后是一个上传,这不是基于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安装——build-name=my-build-name——build-number=1

示例2

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

摩根富林明npm安装

示例3

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

摩根富林明npm ci


将Npm包发布到Artifactory

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

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

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

下表列出了命令的参数和标志:

命令名

npm发布

缩写

命令选项

——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目的关键。

——模块

(可选)

build-info的可选模块名称。

——详细介绍

(默认值:false)

将true设置为在命令输出摘要中包含受影响文件的列表。

——扫描

(默认值:false)

如果您希望在上传之前在本地文件系统上用x射线扫描所有文件,请设置该选项,如果发现任何文件存在漏洞,则跳过上传。

- - -格式

(默认:表)

应该与——scan选项一起使用。定义扫描输出格式。接受table或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存储库摩根富林明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命令。

摩根富林明线安装


建筑去包

一般

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

需求

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

Artifactory版本6.1.0及以上。

使用1.11.0及以上版本的客户端。

示例项目

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

设置去仓库

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

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

  1. CD到Go项目的根目录。
  2. 运行摩根富林明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-config
示例2

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

摩根富林明go-config全球


运行去命令

命令触发go客户机。

在运行之前命令首次使用时,该项目应使用go-config命令。

下表列出了命令的参数和标志:


命令名

缩写
命令选项

——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目的关键。

——no-fallback

(默认值:false)

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

——模块

(可选)

build-info的可选模块名称。

命令参数

去命令

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

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

在使用此示例之前,请确保使用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命令。

摩根富林明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提供了全面支持凯奇使用皮普而且pipenv包的安装程序。这允许解析python依赖关系从Artifactory,同时记录下载的包。下载的包作为依赖项存储在Artifactory中存储的构建信息中。

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

示例项目

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

设置Python库

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

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

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

pip-config / pipenv-config

缩写
pipc / pipec
命令选项

——全球

(默认错误)

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

——server-id-resolve

(可选)

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

——repo-resolve

(可选)

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

例子
示例1

在使用pip客户端时设置此Python项目的存储库。

摩根富林明pipc
示例2

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

摩根富林明pipc全球
示例3

在使用pipenv客户端时设置此Python项目的存储库。

摩根富林明pipec
示例4

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

摩根富林明pipec全球

安装Python包

pip安装而且pipenv安装命令我们皮普而且pipenv从Artifactory安装项目依赖项。命令还可以将这些包记录为构建依赖项,作为发布到Artifactory的构建信息的一部分。

在运行之前pip安装pipenv安装命令首次在项目上使用时,应使用pip-configpipenv-confiog命令分别。

记录所有依赖项

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

如何在构建信息中包含所有包?

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

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

命令名

皮普/ pipenv

缩写


命令选项


——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目的关键。

——模块

(可选)

build-info的可选模块名称。

命令参数


脉冲参数

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


例子

下面是运行pip install的两个示例,同时将构建依赖项记录为构建名称的一部分构建并建立数1

Jf PIP安装。jf PIP install -r requests .txt——build-name=my-build——build-number=1


建筑NuGet包

JFrog CLI提供了恢复NuGet包的完整支持NuGet客户端或. net Core CLI。这允许您解析NuGet依赖项从并发布您的NuGet包到Artifactory,同时收集构建信息并将其存储在Artifactory。

函数支持NuGet依赖项解析摩根富林明rt nuget命令,使用NuGet客户端或摩根富林明rt dotnet命令,该命令使用. net Core CLI。

要将NuGet包发布到Artifactory,请使用摩根富林明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 V2协议(而不是NuGet V3),则设置为true。

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

运行Nuget和Dotnet命令

nuget命令运行NuGet可以客户端dotnet命令运行net核心CLI

在运行之前nuget命令首次使用时,该项目应使用nuget-config命令。

在运行之前dotnet命令首次使用时,该项目应使用dotnet-config命令。

下表列出了命令的参数和选项:

命令名

nuget / dotnet

缩写


命令选项


——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目的关键。

——模块

(可选)

build-info的可选模块名称。

命令参数

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

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

摩根富林明nuget恢复
示例2

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

摩根富林明dotnet恢复
示例3

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

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

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

包装和发布地球模块

JFrog CLI支持打包Terraform模块,并将它们发布到Artifactory中的Terraform存储库中摩根富林明起程拓殖发布命令。

我们建议使用这个例子项目在GitHub上便于启动。

在使用之前摩根富林明起程拓殖发布命令时,首先需要为您的Terraform项目配置Terraform存储库。要做到这一点,请遵循以下步骤:

  1. 'cd'到terrform项目的根目录。
  2. 运行互动摩根富林明terraform-config命令并设置部署存储库名称。

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

命令选项如下表所示:

命令名

terraform-config

缩写
交通
命令选项

——全球

(可选)

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

——server-id-deploy

(可选)

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

——repo-deploy

(可选)

用于构件部署的存储库。

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

配置项目的Terraform存储库,同时位于项目的根目录内

摩根富林明交通
示例2

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

摩根富林明交通——全球
示例3

为项目配置terrform存储库,同时提供已配置的服务器和存储库ad命令选项,以避免交互提示。

Jf TFC——server-id-deploy my-rt-server——repo-deploy terraform-local


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

下表列出了命令的参数和选项:

命令名

起程拓殖发布

缩写

tf p

命令选项


——名称空间

(强制)

起程拓殖模块命名空间

——供应商

(强制)

起程拓殖模块供应商

——标签

(强制)

起程拓殖模块标签

——除外

(可选)

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

命令参数

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

该命令在当前目录中为Terraform模块创建一个包,并将其发布到Terraform存储库(由摩根富林明交通指挥)与提供的名称、提供程序和标记一起使用。

Jf tf p——命名空间示例——provider aws——标签v0.0.1
示例2

该命令在当前目录中为Terraform模块创建一个包,并将其发布到Terraform存储库(由摩根富林明交通指挥),使用“提供”名称空间、提供程序和标记。发布的包将不包含包含这两者的模块路径测验忽略

Jf tf p——命名空间示例——提供者aws——标签v0.0.1——排除“*测试*;*忽略*”

管理用户和组

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

创建用户

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

“用户名”、“密码”、“电子邮件”“username1”、“密码”、“john@c.com”“username2”、“密码”、“alice@c.com”

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

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

命令名

rt用户创建

缩写

rt加州大学

命令选项


——服务器id

(可选)

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

——csv

(强制)

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

——取代

(可选)

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

——用户组

(可选)

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

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

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

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


删除用户

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

“username”“username1”“username2”“username2”

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

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

命令名

rt用户删除

缩写

rt udel

命令选项


——服务器id

(可选)

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

——csv

(可选)

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

命令参数

用户列表

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

示例1

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

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

删除用户名为u1、u2和u3的用户。

删除“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 "reviewer " "u1,u2,u3"


删除组

删除组。

命令名

rt group-delete

缩写

rt gdel

命令选项


——服务器id

(可选)

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

命令参数

组名称

要删除的组的名称。

例子

删除评论家组。

删除“评论者”组

管理存储库

JFrog CLI提供了一组用于管理Artifactory存储库的命令。您可以创建、更新和删除存储库。为了更容易地管理存储库,创建和更新存储库的命令接受预定义的配置模板文件。该模板文件还可以包含变量。稍后在创建或更新存储库时,可以用值替换它。配置模板文件是使用摩根富林明rt repo-template命令。

创建/配置模板

这是一个交互式命令,它创建一个配置模板文件。类的参数应该使用此文件摩根富林明rt repo-create或者是摩根富林明rt repo-update命令。

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

命令名

rt repo-template

缩写

rt rpt

命令选项

该命令没有选项。

命令参数

模板路径

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

例子

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

$ jf rt repo-template模板。选择存储库类(按Tab键选择选项):local选择存储库的包类型(按Tab键选择选项):generic您可以在任何时候输入“:x”保存并退出。选择下一个配置键(按Tab键查看选项)::x [Info] Repository配置模板成功创建在template.json。$ jf rt重新创建模板。json——vars "repo-name=my-repo" [Info]正在创建本地存储库…[提示]创建存储库完成。


创建/更新存储库

这两个命令创建一个新的存储库并更新现有的存储库。命令都接受配置模板作为参数,配置模板可以通过摩根富林明rt repo-template命令。该模板还支持变量,可以在使用它时用值替换变量。

命令名

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命令。

Jf rt重新创建template.json
示例2

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

Jf rt update template.json
示例3

方法更新存储库template.json的先前生成的文件repo-template命令。用更新后的存储库的名称替换模板内的repo-name变量。

Jf rt update template.json——var"repo-name=my-repo"

删除存储库

该命令将永久删除存储库,包括其所有内容。


rt repo-delete

缩写

rt rdel

命令选项


——服务器id

(可选)

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

——安静

(默认值:$ CI)

设置为true可跳过删除确认消息。

命令参数

库的关键

指定要删除的存储库。可以使用通配符指定多个存储库。

例子

从Artifactory中删除存储库。

Jf rt repo-delete generic-local

管理复制

JFrog CLI提供了在Artifactory中创建和删除复制作业的命令。为了更容易地创建复制作业,创建复制作业的命令接受预定义的配置模板文件。该模板文件还可以包含变量。稍后可以在创建复制作业时用值替换。配置模板文件是使用摩根富林明rt复制模板命令。

新建配置模板

命令创建一个配置模板文件,该文件应该用作参数摩根富林明rt replication-create命令。

使用此命令创建模板时,还可以提供可替换的变量,而不是固定值。然后,在使用模板创建复制作业时,可以提供值来替换模板中的变量。

命令名

rt复制模板

缩写

rt rplt

命令选项

该命令没有选项。

命令参数

模板路径

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

例子

创建一个配置模板,其中包含源存储库和目标存储库的两个变量。然后,使用该模板创建复制作业,并提供源和目标存储库名称以替换变量。

RPLT模板。Enter target repo key > ${source} Enter target repo key > ${target}输入目标服务器id(按Tab键进入选项):my-server-id输入cron expression for frequency(例如,0 0 12 * * ?)将每天复制)> 0 0 12 * * ?您可以在任何时候输入“:x”来保存和退出。选择下一个属性>:x [Info]复制创建配置模板成功创建在template.json。RPLC模板。json——vars "source=generic-local;target=generic-local" [Info]已创建复制任务。


创建复制工作

该命令为存储库创建一个新的复制作业。命令接受配置模板作为参数,该模板可以通过摩根富林明rt复制模板命令。该模板还支持变量,可以在使用它时用值替换变量。

命令名

replication-create

缩写

rt rplc

命令选项


——服务器id

(可选)

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

——var

(可选)

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

命令参数

模板路径

指定要用于创建复制作业的模板文件的本地文件系统路径。模板可以通过“jf rt rplt”命令创建。

示例1

创建复制作业template.json的先前生成的文件复制模板命令。

Jf rt RPLC模板
示例2

方法更新复制作业template.json的先前生成的文件复制模板命令。取代而且目标模板内具有复制源和目标存储库名称的变量。

Jf rt RPLC模板——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中创建、更新和删除权限目标的命令。为了更容易地创建和更新权限目标,创建和更新权限目标的命令接受预定义的配置模板文件。该模板文件还可以包含变量。稍后在创建或更新权限目标时,可以用值替换。配置模板文件是使用摩根富林明rt permission-target-template命令。

新建配置模板

命令创建一个配置模板文件,该文件应该用作参数摩根富林明rt permission-target-create而且摩根富林明rt permission-target-update命令。

命令名

rt permission-target-template

缩写

rt ptt

命令选项

该命令没有选项。

命令参数

模板路径

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

创建/更新权限目标

这个命令创建一个新的权限目标。命令接受配置模板作为参数,该模板可以通过摩根富林明rt permission-target-template命令。该模板还支持变量,可以在使用它时用值替换变量。

命令名

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": "[可选]","flat": "[可选,默认值:'true']", " exclements ":["[可选,默认值:'false']]", "archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","validateSymlinks": "[可选]","sortBy":["[可选]","sortOrder": "[可选,默认值:'asc']", "limit": "[可选]:"[可选],"offset":[可选]}]}

下载命令规格架构

下载命令的文件规格模式如下所示:

{"files": [{"pattern" or "aql": "[必选]","target": "[可选]","props": "[可选]","excludeProps": "[可选]","flat": "[可选,默认值:'true']", " exclements ":["[可选,默认值:'false']]", "archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","sortBy":["[可选]"],"sortOrder": "[可选,默认值:'asc']", "limit":[可选],"offset":[可选]}]}

创建和更新发布包命令规范架构

create amd update release bundle命令的文件规范模式如下所示:

{"files": [{"pattern" or "aql": "[必选]","target": "[可选]","targetProps": "[可选]","excludeProps": "[可选]","recursive": "[可选,默认值:'true']", "flat": "[可选,默认值:'false']", " exclements ":["[可选,只适用于指定'pattern']"], "archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","sortBy":["[可选]"],"sortOrder": "[可选,默认值:'asc']", "limit":[可选],"offset":[可选]}]}

上传命令规范架构

上传命令的文件规格模式如下所示:

[{{“文件”:“模式”:“(强制性)”,“目标”:“(强制性)”,“targetProps”:“(可选)”、“递归”:“可选的,默认值是“真正的””、“平”:“(可选的,默认值是“真正的”)”,“正则表达式”:“[可选的,默认值:'假']”,“蚂蚁”:“[可选的,默认值:'假']”,“档案”:“(可选的,必须是:“zip”)”,“除外责任”:["(可选)"]}]}

搜索,设置道具和删除命令规范模式

搜索和删除命令的文件规格模式如下:

{"files": [{"pattern" or "aql": "[必选]","props": "[可选]","excludeProps": "[可选]"," exclsions ":["[可选,默认值:'true']", "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库的不好的目录中。只下载构建版本号为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世界杯阿根廷预选赛赛程目录放入名为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:

这个例子展示了如何做到这一点根据artifactory中工件的年代,在指定路径下删除它们

以下文件规范找到符合以下条件的所有文件夹:

  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": "(*)。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代码扩展

或者,将以下内容复制到您的设置中。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使用了构建信息提取器jar文件。这些jar文件在第一次需要时由JFrog CLI从jcenter下载。

如果您在一台无法访问internet的机器上使用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服务器,使用jfrog c显示命令。如果不是,则使用jfrog c添加命令。

  3. 设置JFROG_CLI_EXTRACTORS_REMOTE环境变量,它是您配置的Artifactory服务器的服务器ID,后面是一个斜杠,然后是您创建的存储库的名称。例如my-rt-server /萃取器