Jenkins 如何下载工件依赖项的最新集成验证
我在詹金斯有一个人工(通用)构建。它对发布非常有效,但我在“下载”部分的规范文件中遇到了一些问题 我希望我的版本从另一个版本下载文件的最新版本。我的回购布局配置为,如果我使用类似于:的url,我总是会得到该文件的最新版本 在通用artifactory集成作业配置的“下载文件”规范部分,我可以编写如下规范文件:Jenkins 如何下载工件依赖项的最新集成验证,jenkins,artifactory,Jenkins,Artifactory,我在詹金斯有一个人工(通用)构建。它对发布非常有效,但我在“下载”部分的规范文件中遇到了一些问题 我希望我的版本从另一个版本下载文件的最新版本。我的回购布局配置为,如果我使用类似于:的url,我总是会得到该文件的最新版本 在通用artifactory集成作业配置的“下载文件”规范部分,我可以编写如下规范文件: { "files": [ { "pattern": "infra/package-scripts/32/scripts_archive.tar.gz"
{
"files": [
{
"pattern": "infra/package-scripts/32/scripts_archive.tar.gz"
}
]
}
这与预期一样有效(总是获得工件的32
版本。我想让作业取决于最新版本(即,我从集成链接获得的内容),例如:
这可能吗?或者我需要我的工作依赖于一个没有编号的升级版本吗
--编辑--
我也试过:
{
"files": [
{
"aql": {
"items.find" : {
"repo": "infra",
"name": "scripts_archive.tar.gz",
},
"sort": { "$desc": [ "created" ] },
"limit": 1
}
}
]
}
但是得到语法错误
--编辑2--
事实证明,我还不能在jenkins规范文件AQL中使用sort/limit-在jenkins Artifactory插件的2.9.0版中,该模式被扩展为包含一个新的“build”属性。这为您提供了下载文件的额外筛选,以便它们是特定构建的工件。 如果不指定特定的构建编号,则会将最新构建的工件发布到Artifactory。
请注意,“build”属性可以提供最新版本,而不是最新版本,但是如果您的构建将构建信息发布到Artifactory,那么它实际上会提供相同的结果。另外请注意,在指定构建时仍然使用“pattern”属性。我可以使用一些AQL吗?
{
"files": [
{
"aql": {
"items.find" : {
"repo": "infra",
"name": "scripts_archive.tar.gz",
},
"sort": { "$desc": [ "created" ] },
"limit": 1
}
}
]
}