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"
}
答案 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>