【问题标题】:Artifactory: jfrog CLI command to get full path of a specific artifactArtifactory:jfrog CLI 命令获取特定工件的完整路径
【发布时间】:2020-11-29 18:06:33
【问题描述】:

我正在尝试通过开发一些神奇的 Python 脚本来处理构建和部署过程,从而改进我所在领域的开发过程。我正在使用TeamcityArtifactory 来构建和管理工件。

流程中的一个步骤是从 Artifactory 获取最新部署的构建工件的工件 URL。我想创建一个 CLI 命令,它可以采用一些参数,例如存储库名称、工件的名称/模式等,并生成工件的完整路径。

想知道是否有人以前使用过 jfrog CLI 并且可以帮助我创建这样的命令?

我在下面分享一些示例工件以供参考:

https://artifactory-1.dts.fm.abcgrp.net/artifactory/fsap-staticfile-libs-releases-local/fsap/aap-aml-ui/2.2.1/aap-aml-ui-2.2.1-dist.zip

https://artifactory-1.dts.fm.abcgrp.net/artifactory/fsap-libs-snapshots-local/com/abc/fsap/aap-aml-msvc/0.0.0-feature-FSAP-9787-SNAPSHOT/aap-aml-msvc-0.0.0-feature-FSAP-9787-20200807.134731-5-dist.jar

https://artifactory-1.dts.fm.abcgrp.net/artifactory/fsap-libs-snapshots-local/com/abc/fsap/aap-lime-msvc/0.0.0-development-SNAPSHOT/aap-lime-msvc-0.0.0-development-20200717.061034-4-dist.jar

【问题讨论】:

    标签: teamcity artifactory jfrog-cli


    【解决方案1】:

    您可以使用 JFrog CLI 附带的search command 来获取列出的所有文件。但是,它将列出有关满足要求的所有工件的全部信息,并且还将列出 Artifactory 中的 repo 路径,因此我希望对于您的特定用例,您可能必须提出一些过滤器来执行 2 个操作.

    1. 仅过滤搜索命令中的路径值
    2. 将 JFrog 基本 URL 附加到每一行。

    实现这一点的一种快速方法是使用简单的 jq 过滤器,如下所示:

    jfrog rt s "myrepo/*.zip" | grep -v "\[INFO\]" | jq -rj '.[] | "https://myartifactory.com/artifactory/", .path, "\n"'
    

    【讨论】:

    • gerp -v 部分的原因是什么?无论如何,所有 INFO 行都会进入 stderr。这样做是为了方便地获取命令结果。让我知道我是否遗漏了什么并且不起作用。
    • 它说jq 未被识别为内部/外部命令。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-11
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多