一尘不染

Jenkins Artifactory插件-获取最新工件

jenkins

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

我在Artifactory文件规范文档中看到,下载规范中应该有一个“
build”元素,我可以在其中指定“ LATEST”,但这不起作用,只是说“
LATEST”未找到。也许我一开始没有正确地将我的作品发布到Artifactory?

根据这个SO问题和这个GitHub页面,似乎只有jfrog
CLI支持按日期排序和获取最新消息,而Jenkins不支持。其他人告诉我,可以使用名称设置器,版本号,描述设置器插件来实现这种功能……但这似乎确实很麻烦。

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


阅读 571

收藏
2020-07-25

共1个答案

一尘不染

如果我使用的是“ aql”,我根本无法使用它,但是使用“模式”查找文件时,它可以使用。当指定“
build”时,即使您指向的存储库中有一堆类似名称的文件(Artifactory中的构建元数据会处理此问题),它也只会抓住该构建的工件。如果不指定“
build”,它将捕获所有匹配的工件。

“内部版本”应采用内部版本名称/内部版本号格式,但是您可以不使用数字,也可以使用LATEST来获取最新 成功的内部
版本(我通过创建失败的内部版本对此进行了测试)。

示例说明: -这会将file3下载到Dependencies / file3- 删除“ / LATEST”也将仅下载file3- 删除整个“ build”行将下载所有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"
        }
    ]
 }

有关更多信息,请参见buildJFrog File Specs文档中的关键字
https://www.jfrog.com/confluence/display/RTF/Using+File+Specs

建立[可选]

如果指定,则仅下载指定构建的工件。当指定“ build”时,仍会考虑“
pattern”属性。该属性格式为内部名称/内部编号。如果未指定内部版本号,或使用关键字LATEST作为内部版本号,则使用最新发布的内部版本号。

2020-07-25