Jenkins Artifactory插件 - 抓住最新的文物

时间:2017-12-01 16:53:06

标签: jenkins artifactory

我正在尝试保存构建工件,并通过Jenkins Artifactory插件的上传/下载规范部分将它们拉入新版本。 有没有办法获取“最新”构建工件?

我在Artifactory file spec docs中看到下载规范中应该有一个“build”元素,我可以指定“LATEST”,但这不起作用,只是说找不到“LATEST”。也许我不是首先正确地将我的构建发布到Artifactory?

根据this SO questionthis GitHub page,似乎只有jfrog CLI支持按日期排序并抓取最新版本,而不是Jenkins支持。其他人告诉我,这种功能可以使用名称设置器,版本号,描述设置器插件...但这看起来真的很hacky。

我们正在使用Jenkins 2.60.3和Artifactory Enterprise 5.4.5。

1 个答案:

答案 0 :(得分:3)

如果我使用" aql"我根本无法使用它,但是在使用" pattern"时它可以工作。找到文件。当"构建"指定它只会抓取该构建的工件,即使你指向的repo有一堆类似命名的文件(Artifactory中的构建元数据也可以解决这个问题)。没有指定" build"它会抓取所有匹配的工件。

"建立"应该是build-name / build-number格式,但你可以不用数字或使用LATEST来获取最新的成功的构建的工件(我通过创建一个失败的构建)。

举例说明:
- 这会将file3下载到Dependencies / file3
- 删除" / LATEST"也将只下载file3
- 删除整个"构建" line将下载所有3个文件

# Artifactory Repo: example-repo/  
# BuildName: example-build
#   example-repo/file1  (from build 1)   
#   example-repo/file2  (from build 2)   
#   example-repo/file3  (from build 3)

Download File Spec:
{
    "files": [
        {
            "pattern": "example-repo/file*",
            "target": "Dependencies/",
            "recursive": "false",
            "flat" : "true",
            "build" : "example-build/LATEST"
        }
    ]
 }