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

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


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

概述

这个页面描述了如何使用JFrog CLI和JFrog Artifactory。

阅读更多关于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

在build-info中设置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进行身份验证。生成的访问令牌仅在一小时内有效。JFrog CLI在令牌过期前自动刷新令牌。的Jfrog c add命令允许禁用此功能。使用外部工具或包管理器或与JFrog Distribution一起工作的命令目前不支持此功能。

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

若要使用人工访问令牌对自己进行身份验证,请使用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 URLJfrog c add命令。

    不要包含Artifactory上下文URL

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

  • 配置SSH密钥文件的路径。有两种方法:
    • 对于每个命令,使用——ssh-key-path命令选项。
    • 属性指定路径Jfrog 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 CLI的主目录下。默认情况下,主目录为~ / .jfrog,但也可以使用JFROG_CLI_HOME_DIR环境变量。

  1. 支持的证书格式为PEM。
  2. 有些命令支持——不安全- 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 * u "(*)。tgz" my-local-repo/{1}/ --recursive=false
示例2:将共享相同前缀的所有文件上传到目标存储库

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

$ jf u "(青蛙*)" 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发送应用程序ping来验证Artifactory是否可访问。

命令名
rt平
缩写
rt p


命令选项

url——

(可选)

Artifactory URL。

——服务器id

(可选)

配置的服务器IDJfrog c 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
命令选项

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

——档案

(可选)

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

——服务器id

(可选)

配置的服务器IDJfrog c add命令。如果未指定,则使用默认配置的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,则将第一个参数解释为通配符表达式。

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

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

——蚂蚁

(默认值:false)

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

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

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

——线程

(默认值:3)

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

——即将

(默认值:false)

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

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

——符号链接

(默认值:false)

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

——爆炸

(默认值:false)

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

——include-dirs

(默认值:false)

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

——除外

(可选)

以分号分隔的排除模式列表。一个允许根据-的值使用通配符、正则表达式或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 - u froggy。tgz my-local-repo
示例2

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

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

集合下的所有zip文件构建目录(包括子目录),并将它们上传到my-local-repo资料库,在zipFiles文件夹,同时保持文件的原始名称。文件中的所有文件也要删除my-local-repo资料库,在zipFiles文件夹,使用此命令上传的文件除外。

$ jf rt u "build/*.zip" my-local-repo/zipFiles/——sync-deletes="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

收集位于构建目录并匹配* * / * . zip模式,并将它们上传到my-release-local资料库,在文件文件夹,同时保持工件的原始名称。

“build/**/*.zip”
例7

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

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

下载文件

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

远程下载

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

远程下载功能仅在远程存储库上受支持,远程存储库在远程Artifactory实例上代理存储库。不支持通过代理非Artifactory存储库的远程存储库下载。

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

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

——服务器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-name/bundle-version。

——平

(默认值:false)

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

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

如果占位符,并且您希望本地文件系统(下载路径)仅由占位符决定,或者换句话说,避免将Artifactory文件夹层次结构连接到local(设置为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。

——validate-symlinks

(默认值:false)

如果为true,该命令将对其进行验证符号链接都指向现有的和未修改的文件,通过比较它们的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存储库到当前目录。

$ jfrt dl my-local-repo/cool-frog .zip
示例2

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

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

中的所有构件下载my-local-repo带有jar延伸至all-my-frogs当前目录下的文件夹。

“my-local-repo/*.jar
示例4

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

“my-local-repo/all-my-frogs/”——sort-by=created——sort-order=desc——limit=1

复制文件

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

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

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

——服务器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-name/bundle-version。

——平

(默认值:false)

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

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

——递归

(默认值:真实)

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

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

——即将

(默认值:false)

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

如果为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存储库。

jfrt cp source-frog-repo/rabbit/ target-frog-repo/rabbit
示例2

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

Jf命令cp“source-frog-repo/rabbit/*.zip
示例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
命令选项

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

——服务器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-name/bundle-version。

——平

(默认值:false)

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

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

——递归

(默认值:真实)

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

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

——即将

(默认值:false)

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

如果为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存储库。

jfrt mv source-frog-repo/rabbit/ target-frog-repo/rabbit/
示例2

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

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

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

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

删除文件

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

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

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

——服务器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-name/bundle-version。

——递归

(默认值:真实)

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

——安静

(默认值:false)

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

——即将

(默认值:false)

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

如果为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(代表毫秒)结尾。——return -wait-time

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

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

例子

示例1

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

jfrt del frog-repo/rabbit/
示例2

删除所有zip文件位于/兔子frog-repo存储库。

“frog-repo/rabbit/*.zip”

搜索文件

该命令用于查询和显示Artifactory中的文件。

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

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

——服务器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-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存储库。

这是青蛙/兔子/
示例2

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

“frog-repo/rabbit/*.zip”

设置文件属性

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

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

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

——服务器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。

——除外

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

——排序

(可选)

要排序的以分号分隔的字段列表。字段必须是“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 " general -local/*.zip" "a=1;b=2,3"
示例2

该命令将属性“a”设置为“1”值,并将属性“b”设置为两个值:“2”和“3”,用于文件Spec my-spec找到的所有文件。

* * * * * * * * * * * * * * * * * * * * * *

从文件中删除属性

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

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

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

——服务器id

(可选)

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

——道具

(可选)

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

——exclude-props

(可选)

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

——递归

(默认值:真实)

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

——构建

(可选)

如果指定,则只匹配指定构建的构件。属性格式为build-name/build-number。如果不指定构建号,则工件将按照最新的构建号进行筛选。

——包

(可选)

如果指定,则只匹配指定包的工件。格式为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"属性。

“general -local/*.zip”“status,phase”

创建访问令牌

这个命令允许创建访问令牌为Artifactory中的用户

命令名

rt access-token-create

缩写
rt atc
命令选项


——组

(默认值:*)

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

——grant-admin

(默认值:false)

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

——到期

(默认:3600)

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

——可刷新的

(默认值:false)

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

——观众

(可选)

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

命令参数

用户名

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

例子

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

第一任美国陆军总司令威尔·里克

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

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

命令名

rt git-lfs-clean

缩写
rt、相关
命令选项


——参考文献

[Default: 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

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

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

运行cUrl

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

该命令仅支持人工REST api,可以从下面访问https:///artifactory/api/

命令名

rt旋度


缩写
rt cl
命令选项



——服务器id

(可选)

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


命令参数


cUrl参数和标志

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

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

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


例子

示例1

执行cUrl客户端,将GET请求发送到/api/构建端点到默认Artifactory服务器

jfrt curl -XGET /api/build
示例2

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

xget /api/build——server-id my-rt-server

构建集成

概述

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

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

收集Build-Info

Build-info是通过添加——打造了品牌——版本号不同的CLI命令。CLI命令可以运行多次,并为指定的构建名称和编号累积收集构建信息,直到将其发布到Artifactory。例如,运行下载命令多次使用相同的构建名称和编号将累积每个下载的文件在相应的构建信息。

收集依赖关系

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

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

Jf rt dl my-local-repo/cool-frog .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的:

我的名字是my-build-name

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

命令名

rt build-collect-env

缩写
rt公元前
命令选项


——项目

(可选)

JFrog项目密钥。

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

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

第一个是蛙泳,第一个是蛙泳


从Git收集信息

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

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

命令名

rt build-add-git

缩写
rt袋
命令选项


——配置

(可选)

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

——服务器id

(可选)

配置的服务器IDJfrog配置命令.这是稍后将发布构建信息的服务器,使用构建发布英国石油公司命令。如果提供了该选项,将覆盖该命令的yaml配置中的serverID值。如果没有提供这两个值,则默认服务器由Jfrog配置命令,是常用的。

——项目

(可选)

JFrog项目密钥。

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

我的袋子是青蛙式的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: release
配置文件属性
属性名 描述
版本 模式版本仅供内部使用。不要改变!
serverID 配置的人工服务器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状态的构建。控件提升构建时设置构建状态Jf - build-promote命令。

添加文件作为构建依赖项

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

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

命令名

rt build-add-dependencies

缩写
rt坏
命令选项

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

——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.build-info只在本地更新。要将构建信息发布到Artifactory,使用jfrt构建-发布命令。

“/build/dependencies/dir/”


示例2

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

“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

(可选)

可用于在build-info中设置CI服务器构建URL。

——env-include

(默认值:*)

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

——env-exclude

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

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

——即将

(默认值:false)

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

——insecure-tls

(默认值:false)

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

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

请点击my-build-name18


聚合已发布的版本

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

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

下面的命令添加了第二个模块,名为平方米到同一建筑:

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

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

jfrt build-publish my-build

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

jfrt下载“*”——build my-build/1

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

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

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

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

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

命令名

rt build-append

缩写
rt袋ydF4y2Ba
命令选项

该命令无选项。

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

要追加的构建名称

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

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

人工版本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相同

推广建设

此命令用于促进建立在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证书验证。

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

BPR my-build-name18target-repository

清理构建

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

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

命令名

rt清除项目

缩写
rt公元前
命令选项

该命令无选项。

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


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

jtf BC my-build-name18

从工件中丢弃旧的构建

此命令用于丢弃先前使用构建发布命令。

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

命令名

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天内发布的版本。b20b21不会被丢弃。

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

包管理器集成

运行Maven构建

JFrog CLI包括与Maven的集成,允许您解析依赖关系,并在Artifactory之间和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

运行clean并使用maven安装。

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

运行Gradle构建

JFrog CLI包含了与Gradle的集成,允许您解析依赖关系,并从Artifactory和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之间和Artifactory之间部署工件。

在运行gradle命令时,应该为项目配置gradle-config命令。

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


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

命令名

gradle

缩写
gradle
命令选项

——线程

(默认值:3)

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

——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目密钥。

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

示例1

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

# # # # # # # # # # # #


使用MSBuild运行构建

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

有关详细说明,请参阅我们的MSBuild项目示例在GitHub上。

管理Docker镜像

JFrog CLI提供了使用运行在同一台机器上的docker客户端从Artifactory提取和发布docker映像到Artifactory的完整支持。这允许你收集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:latest docker login  docker push /hello-world:latest

    如果一切都配置正确,推送任何图像(包括hello-world图像)都应该成功上传到Artifactory。

docker命令

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

例子

查看我们的docker项目在GitHub上的例子

使用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-registry。Io /my-docker-image:latest——build-name=my-build-name——build-number=7

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


使用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推送my-docker-registry。Io /my-docker-image:latest——build-name=my-build-name——build-number=7

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


使用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中的源存储库。

例子
下载my-docker-registry。Io /my-docker-image:最新的docker-local——build-name=my-build-name——build-number=7

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


使用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中的目标存储库。

例子
命令命令push my-docker-registry。Io /my-docker-image:最新的docker-local——build-name=my-build-name——build-number=7

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


使用Kaniko推送Docker映像

JFrog CLI允许将容器推送给人工使用Kaniko,同时收集构建信息并将其存储在Artifactory中。
有关详细说明,请参阅我们的Kaniko项目在GitHub上的例子


使用OpenShift命令行推送Docker镜像

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


将已发布的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)

工作线程数。

命令参数

目标库

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

例子
——build-name myBuild——build-number

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


推广Docker镜像

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

  1. 为docker映像创建build-info,然后使用Jf - build-promote命令。
  2. 使用第一个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存储库。

docker- stage -local


使用Npm客户端构建Npm包

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

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

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

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

需求

Npm客户端版本5.4.0及以上。

人工版本5.5.2及以上。

设置npm存储库

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

命令名

npm-config

缩写
npmc
命令选项

——全球

(可选)

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

——server-id-resolve

(可选)

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

——server-id-deploy

(可选)

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

——repo-resolve

(可选)

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

——repo-deploy

(可选)

用于构件部署的存储库。

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

安装Npm包

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

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

(可选)

用于解析的人工服务器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纱线安装


构建Go包

一般

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

需求

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

人工版本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

(可选)

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

——server-id-deploy

(可选)

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

——repo-resolve

(可选)

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

——repo-deploy

(可选)

用于构件部署的存储库。

例子
示例1

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

摩根富林明go-config
示例2

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

Jf go-config——global


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

jfgp v1.2.3
示例2

打包并发布Go包,并将build-info记录为build的一部分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的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 poem -config命令,具体取决于您使用的是PIP还是pipenv客户机。
命令名

Pip-config / pipenv-config / poem -config

缩写
Pipc / pipec / poc
命令选项

——全球

(默认错误)

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

——server-id-resolve

(可选)

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

——repo-resolve

(可选)

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

例子
示例1

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

摩根富林明pipc
示例2

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

jfpipc——全局的
示例3

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

摩根富林明pipec
示例4

在这台机器上使用诗歌客户端为所有Python项目设置存储库。

jfpoc——全局的
示例5

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

摩根富林明poc
例子6

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

Jf管道——全局的

安装Python包

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

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

记录所有依赖项

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

如何在build-info中包含所有包?

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

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

命令名

PIP / pipenv /诗歌

缩写


命令选项


——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名。

命令参数


脉冲参数

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


例子

示例1

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

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

示例2

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

jfpipenv安装。——build-name my-build——build-number

示例3

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

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

构建NuGet包

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

组件支持NuGet依赖项解析第一个命令,使用NuGet客户端或jftdotnet命令,该命令使用. 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

(可选)

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

——repo-resolve

(可选)

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

——nuget-v2

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

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

执行Nuget和Dotnet命令

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

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

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

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

命令名

Nuget / dotnet

缩写


命令选项


——打造了品牌

(可选)

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

——版本号

(可选)

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

——项目

(可选)

JFrog项目密钥。

——模块

(可选)

build-info的可选模块名。

命令参数

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

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

Jf核恢复
示例2

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

jfdotnet恢复
示例3

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

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

Jf dotnet restore——build-name=my-build-name——build-number=1

打包和发布地形模块

JFrog CLI支持打包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

(可选)

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

——repo-deploy

(可选)

用于构件部署的存储库。

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

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

摩根富林明交通
示例2

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

Jf TFC -全球
示例3

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

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


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

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

命令名

起程拓殖发布

缩写

tf p

命令选项


——名称空间

(强制)

Terraform模块命名空间

——供应商

(强制)

Terraform模块提供商

——标签

(强制)

地形模块标签

——除外

(可选)

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

命令参数

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

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

Jf tf p——namespace example——provider aws——tag v0.0.1
示例2

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

——provider aws——tag v0.0.1——排除“*test*;*ignore*”

管理用户和组

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

创建用户

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

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

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

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

命令名

rt用户创建

缩写

rt加州大学

命令选项


——服务器id

(可选)

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

——csv

(强制)

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

——取代

(可选)

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

——用户组

(可选)

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

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

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

Jf rt users-create——csv path/to/users.csv


删除用户

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

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

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

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

命令名

rt用户删除

缩写

rt udel

命令选项


——服务器id

(可选)

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

——csv

(可选)

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

命令参数

用户列表

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

示例1

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

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

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

删除“u1,u2,u3”


创建组

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

命令名

rt组设计

缩写

rt gc

命令选项


——服务器id

(可选)

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

命令参数

组名称

要创建的组的名称。

例子

创建一个新的组名评论家

jfrt group-create评论者

向组中添加用户

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

命令名

rt group-add-users

缩写

rt高斯

命令选项


——服务器id

(可选)

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

命令参数

组名称

要添加用户的组名。

用户列表

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

例子

将具有以下用户名的用户添加到组审阅者:u1、u2和u3。

Jf group-add-users“评论者”“u1,u2,u3”


删除组

删除组。

命令名

rt group-delete

缩写

rt gdel

命令选项


——服务器id

(可选)

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

命令参数

组名称

要删除的组名。

例子

删除评论家组。

Jf组删除“评论者”

管理存储库

JFrog CLI提供了一组用于管理人工存储库的命令。您可以创建、更新和删除存储库。为了更容易管理存储库,创建和更新存储库的命令接受预定义的配置模板文件。这个模板文件还可以包含变量。稍后在创建或更新存储库时可以将其替换为值。配置模板文件使用jquery repo-template命令。

创建/配置模板

这是一个交互式命令,用于创建配置模板文件。方法的参数jquery repo-create或者是jfrt repo-update命令。

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

命令名

rt repo-template

缩写

rt rpt

命令选项

该命令无选项。

命令参数

模板路径

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

例子

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

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


创建/更新存储库

这两个命令创建一个新的存储库并更新现有的存储库。两个命令都接受配置模板作为参数,该模板可以由jquery repo-template命令。模板还支持变量,这些变量可以在使用模板时被替换为值。

命令名

Rt repo-create / Rt repo-update

缩写

Rt, rc / Rt, ru

命令选项


——服务器id

(可选)

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

——var

(可选)

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

命令参数

模板路径

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

示例1

创建存储库,使用template.json生成的文件repo-template命令。

jfrt repo-create template.json
示例2

更新存储库,使用template.json生成的文件repo-template命令。

jfrt repo-update template.json
示例3

更新存储库,使用template.json生成的文件repo-template命令。将模板中的repo-name变量替换为更新后的存储库的名称。

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

删除存储库

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


rt repo-delete

缩写

rt rdel

命令选项


——服务器id

(可选)

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

——安静

(默认值:$ CI)

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

命令参数

库的关键

指定应该删除的存储库。您可以使用通配符来指定多个存储库。

例子

从Artifactory中删除存储库。

jquery repo-delete generic-local

管理复制

JFrog CLI提供了在Artifactory中创建和删除复制作业的命令。为了方便创建复制作业,创建复制作业的命令接受预定义的配置模板文件。这个模板文件还可以包含变量。稍后在创建复制作业时可以将其替换为值。配置模板文件使用jfrt replication-template命令。

创建配置模板

该命令创建一个配置模板文件,该文件应用作参数Jf - rt复制-创建命令。

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

命令名

rt复制模板

缩写

rt rplt

命令选项

该命令无选项。

命令参数

模板路径

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

例子

创建一个配置模板,为源存储库和目标存储库使用两个变量。然后,使用此模板创建复制作业,并提供源和目标存储库名称来替换变量。

$ jf rt RPLT模板。Enter source repo key > ${source} Enter target repo key > ${target} Enter target server id(按Tab键选择选项):my-server-id输入cron频率表达式(例如:0 0 12 * * ?)每日复制)> 0 0 12 * * ?您可以随时输入“:x”保存并退出。选择下一个属性>:x [Info] Replication creation config template successfully created at template.json。$ $ jf rt RPLC模板。json——vars "source= general -local;target= general -local" [Info]复制任务创建完成。


创建复制任务

该命令为存储库创建一个新的复制作业。该命令接受配置模板作为参数,该模板可以由jfrt replication-template命令。模板还支持变量,这些变量可以在使用模板时被替换为值。

命令名

replication-create

缩写

rt rplc

命令选项


——服务器id

(可选)

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

——var

(可选)

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

命令参数

模板路径

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

示例1

创建复制作业,使用template.json生成的文件复制模板命令。

Jf rt RPLC template.json
示例2

更新复制作业,使用template.json生成的文件复制模板命令。取代目标模板内的变量,其中包含复制源存储库和目标存储库的名称。

Jf rt RPLC template.json——var"source=my-source-repo;target=my-target-repo"

删除复制任务

此命令将永久删除存储库中的复制作业。


rt replication-delete

缩写

rt rpldel

命令选项


——服务器id

(可选)

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

——quiete

(默认值:$ CI)

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

命令参数

库的关键

要从其中删除复制的存储库。

例子

从Artifactory中删除存储库。

请重新输入my-repo-name

管理权限目标

JFrog CLI提供了在Artifactory中创建、更新和删除权限目标的命令。为了方便创建和更新权限目标,创建和更新权限目标的命令接受预定义的配置模板文件。这个模板文件还可以包含变量。稍后在创建或更新权限目标时可以将其替换为值。配置模板文件使用Jf -target-template命令。

创建配置模板

该命令创建一个配置模板文件,该文件应用作参数Jf - permission-target-createJf - permission-target-update命令。

命令名

rt permission-target-template

缩写

rt ptt

命令选项

该命令无选项。

命令参数

模板路径

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

创建/更新权限目标

该命令创建一个新的权限目标。该命令接受配置模板作为参数,该模板可以由Jf -target-template命令。模板还支持变量,这些变量可以在使用模板时被替换为值。

命令名

Permission-target-create / permission-target-update

缩写

Rt PTC / Rt ptu

命令选项


——服务器id

(可选)

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

——var

(可选)

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

命令参数

模板路径

指定用于创建或更新权限目标的模板文件的本地文件系统路径。可以使用jf rt ptt命令创建模板。

删除权限目标

该命令将永久删除权限目标器。


rt permission-target-delete

缩写

rt ptdel

命令选项


——服务器id

(可选)

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

——quiete

(默认值:$ CI)

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

命令参数

权限目标名称

应该删除的权限目标。


使用文件规格

要实现复杂的文件操作,您可能需要几个CLI命令。例如,您可能需要将几组不同的文件上传到不同的存储库。为了简化这些复杂操作的实现,您可以应用JFrog CLI下载,上传,移动、复制删除命令与JFrog Artifactory使用——规范选项以替换内联命令参数和选项。类似地,你可以创建和更新发布包通过提供——规范命令选项。每个命令使用JSON格式的文件规范数组,并具有下面各节中描述的相应模式。注意,如果这些命令同时使用内联选项和文件规范发出,则内联选项将覆盖文件规范中指定的对应命令。

文件规格模式

复制和移动命令规范架构

复制和移动命令的文件规范模式如下:

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

下载命令规格架构

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

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

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

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

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

上传命令规格架构

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

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

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

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

{"files": [{"pattern" or "aql": "[必选]","props": "[可选]","excludeProps": "[可选]","recursive": "[可选,默认值:'true']", " exclsions ":["[可选]","archiveEntries": "[可选]","build": "[可选]","bundle": "[可选]","sortBy":["[可选]","sortOrder": "[[可选]","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:

这个例子展示了如何根据工件的年龄在指定的路径下删除工件

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

  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-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下载。

如果您在一台无法访问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 show命令。如果没有,请使用Jfrog c add命令。

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