我正在尝试保存构建工件,并通过Jenkins Artifactory插件的上传/下载规范部分将它们拉入新版本。 有没有办法获取“最新”构建工件?
我在Artifactory file spec docs中看到下载规范中应该有一个“build”元素,我可以指定“LATEST”,但这不起作用,只是说找不到“LATEST”。也许我不是首先正确地将我的构建发布到Artifactory?
根据this SO question和this GitHub page,似乎只有jfrog CLI支持按日期排序并抓取最新版本,而不是Jenkins支持。其他人告诉我,这种功能可以使用名称设置器,版本号,描述设置器插件...但这看起来真的很hacky。
我们正在使用Jenkins 2.60.3和Artifactory Enterprise 5.4.5。
答案 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"
}
]
}