无法使用文件规范中带有“ build”属性的人工插件或jfrog cli下载最新工件

时间:2019-08-14 21:05:15

标签: jenkins command-line-interface artifactory specifications

我的工件[通用]回购结构如下:

org / component / baseRev / branch /

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

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

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

{
    "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 download命令,但它也找不到最新的。我能够使用jfrog cli和

找到最新文件
"sortBy": ["created"],
"sortOrder": "desc",
"limit": 1

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

1 个答案:

答案 0 :(得分:1)

以防万一其他人遇到这个问题。我们发现文件规范中的 build 属性一直正常工作。问题在于,当我们尝试将分支构建发布到Artifactory时,其构建信息在此过程中遭到破坏。一旦我们清除了Artifactory中该分支的所有构建信息并进行了重建,便可以使用 build_name / LATEST 选项拉出最新的构建。