【问题标题】:Cannot download latest artifact using artifactory plugin or jfrog cli with "build" property in file spec无法使用文件规范中具有“build”属性的工件插件或 jfrog cli 下载最新工件
【发布时间】:2019-12-21 10:40:58
【问题描述】:

我的神器 [Generic] repo 结构是这样的:

org/component/baseRev/branch/

在 jenkins 中运行的构建作业会生成一个 zip 工件,该工件使用工件插件上传到此路径,文件名:component-fileItegRev.zip,其中 fileItegRev 是构建号。 所以我最终在我的回购中得到了这样的东西:

.../branch/
.....component-120.zip
.....component-121.zip
.....component-122.zip
.....component-123.zip

然后,另一个管道正在尝试使用 jenkins 中的 artifactory 插件和如下文件规范从上述文件夹下载最新的工件:

{
    "files": [
        {
            "pattern": "org/component/baseRev/branch/",
            "target": "Download\\",
            "build": "buildName",
            "explode": "true",
            "flat" : "true"
        }
        ]
    }

Artifactory 中的file spec documentation 指出,如果我指定没有构建号的构建名称,那么将使用最新的来拉取工件。这没有发生。

我验证了如果我以以下形式指定构建属性:

"build": "buildName/123"

它将在文件名中找到并下载具有该版本的 zip。我也尝试明确指定

"build": "buildName/LATEST"

这也不起作用。我究竟做错了什么?

我也尝试使用 jfrog cli 下载命令来使用这个规范文件,但它也找不到最新的。我能够使用 jfrog cli 找到最新文件,并且

"sortBy": ["created"],
"sortOrder": "desc",
"limit": 1

规范中的参数(如here 所述),但我仍然想知道为什么文件规范的“构建”属性不能按照其文档中的描述工作。

【问题讨论】:

    标签: jenkins command-line-interface artifactory specifications


    【解决方案1】:

    以防万一其他人遇到这种情况。我们发现文件规范中的 build 属性一直正常工作。问题是,当我们尝试将我们的分支构建发布到 Artifactory 时,它的构建信息在此过程中被破坏了。一旦我们清除了 Artifactory 中此分支的所有构建信息并重新构建,我们就可以使用 build_name/LATEST 选项提取最新的构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 1970-01-01
      相关资源
      最近更新 更多