我在jenkins中有一个神器(通用)构建。它适用于发布,但我在“下载”部分的规范文件中写入了什么问题。
我希望我的版本从另一个版本下载最新版本的文件。我的repo布局已配置好,如果我使用的网址如下: http://artiserver:8081/artifactory/infra/package-scripts/[INTEGRATION]/scripts_archive.tar.gz 我总是会获得该文件的最新版本。
在通用工件集成作业配置的“下载文件”规范部分中,我可以像这样写一个spec文件:
{
"files": [
{
"pattern": "infra/package-scripts/32/scripts_archive.tar.gz"
}
]
}
这可以按预期工作(总是得到工件的32
版本。我想让工作取决于最新版本(即我从INTEGRATION链接得到的)例如:
{
"files": [
{
"pattern": "infra/package-scripts/[INTEGRATION]/scripts_archive.tar.gz"
}
]
}
这可能吗?或者我是否需要我的工作依赖于没有编号的升级版本?
- 编辑 -
我也试过了:
{
"files": [
{
"aql": {
"items.find" : {
"repo": "infra",
"name": "scripts_archive.tar.gz",
},
"sort": { "$desc": [ "created" ] },
"limit": 1
}
}
]
}
但是会出现语法错误..
- 编辑2 -
原来我还不能在jenkins规范文件中使用排序/限制AQL - https://www.jfrog.com/jira/browse/HAP-832
答案 0 :(得分:5)
在Jenkins Artifactory插件的2.9.0版本中,Download Spec架构已扩展为包含新的“构建”属性。这为您提供了对下载文件的额外过滤,以便它们是特定构建的工件。 如果您没有指定特定的内部版本号,您将获得发布到Artifactory的最新版本的工件。 请注意,“build”属性可以提供最新版本而不是最新版本,但如果您的构建版本将构建信息发布到Artifactory,那么它实际上提供了相同的结果。另请注意,在指定构建时仍会使用“pattern”属性。