我在jenkins中有一个神器(通用)构建.它适用于发布但我在"下载"部分的spec文件中写入的内容有问题.
我希望我的版本从另一个版本下载最新版本的文件.我的repo布局已经配置好,如果我使用的URL如下: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
在Jenkins Artifactory插件的2.9.0版中,下载规范模式已扩展为包含新的"构建"属性.这为您提供了对下载文件的额外过滤,以便它们是特定构建的工件.如果您没有指定特定的内部版本号,您将获得发布到Artifactory的最新版本的工件.请注意,"build"属性可以提供最新版本而不是最新版本,但如果您的构建版本将构建信息发布到Artifactory,那么它实际上提供了相同的结果.另请注意,在指定构建时仍使用"pattern"属性.