如何在使用神器jfrog cli进行搜索时获取url

时间:2017-08-25 05:54:24

标签: artifactory jfrog-cli

Artifactory的jfrog cli可用于在~/.jfrog/jfrog-cli.conf中配置的多个服务器上搜索工件:

jfrog rt s repo_name/path/to/artifact*

结果中的URL只是相对于服务器基本URL的部分,并且不包含对找到工件的服务器的任何引用:

[
    {
        "path": "repo_name/path/to/artifact.tar"
    }
]

我知道可以遍历配置文件中的服务器列表,或使用REST API,但我更喜欢cli可以返回它。我没有找到任何选项告诉jfrog在结果中包含服务器URL,所以看起来这是不可能的。希望我错了。

URL将在下游事件中发送给其他组件,这些组件不知道ARM是什么。

示例jfrog-cli.conf

{
  "artifactory": [
    {
      "url": "https://arm1.foo.bar/artifactory/",
      "apiKey": "AKEY",
      "serverId": "1",
      "isDefault": true
    },
    {
      "url": "https://arm2.foo.bar/artifactory/",
      "apiKey": "ANOTHERKEY",
      "serverId": "2",
      "isDefault": false
    }
  ],
  "Version": "1"
}

1 个答案:

答案 0 :(得分:0)

jfrog cli不会搜索已配置的服务器列表。相反,应使用--server-id的{​​{1}}选项,或jfrog rt s用于设置默认服务器,请参阅https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-UsingaPredefinedArtifactoryServer

  

您可以使用config命令配置多个Artifactory实例。 'use'命令用于指定应将哪些已配置的Artifactory实例用于以下CLI命令。

     

$ jfrog rt使用artifactory-server-1

这会将jfrog rt use <server id>设置更新为给定服务器的isDefault,其余为true我不建议在脚本中使用这种方式,因为如果一次执行多个操作会有干扰。

应该逐个循环服务器,并从jfrog-cli.conf JSON或使用false命令中选择服务器URL。一些python代码:

jfrog rt c show <server id>