Artifactory and Jenkins-获取具有最新/最大自定义属性的文件

问题描述 投票:0回答:1

我有通用存储库“ my_repo”。我将文件从jenkins上传到my_repo / branch_buildNumber / package.tar.gz之类的路径,并带有“ 1.9.0”,“ 1.10.0”等自定义属性“ tag”。我想获取具有最新/最新标签。

我试图通过此链接修改示例2 ...https://www.jfrog.com/confluence/display/JFROG/Using+File+Specs#UsingFileSpecs-Examples

...,并添加排序并限制此处的处理方式...https://www.jfrog.com/confluence/display/JFROG/Artifactory+Query+Language#ArtifactoryQueryLanguage-limitDisplayLimitsandPagination

但是我收到“未知属性描述”错误。

jenkins code

jenkins properties artifactory
1个回答
0
投票
与大多数JFrog客户端一样,Jenkins Artifactory插件也支持用于下载和上传通用文件的文件规范。描述了文件规范模式here。创建用于下载文件的文件规范时,可以选择使用“模式”属性,该属性可以包含通配符。例如,以下规范将所有zip文件从my-local-repo存储库下载到本地froggy目录中:

{ "files": [ { "pattern": "my-local-repo/*.zip", "target": "froggy/" } ] }

或者,您可以使用“ aql”代替“ pattern”。以下规范提供与上一个相同的结果:

{ "files": [ { "aql": { "items.find": { "repo": "my-local-repo", "$or": [ { "$and": [ { "path": { "$match": "*" }, "name": { "$match": "*.zip" } } ] } ] } }, "target": "froggy/" } ] }

文件规范中允许的AQL语法不包括Artifactory查询语言允许的所有内容。例如,您不能使用“ include”或“ sort”子句。设置了这些限制,以使响应结构已知且恒定。

但是,无论您选择使用“ pattern”还是“ aql”,排序都仍然适用于File Specs。它支持抛出“ specBy”,“ sortOrder”,“ limit”和“ offset”文件规范属性。例如,以下文件规格将仅下载3个最大的zip文件:

{ "files": [ { "aql": { "items.find": { "repo": "my-local-repo", "$or": [ { "$and": [ { "path": { "$match": "*" }, "name": { "$match": "*.zip" } } ] } ] } }, "sortBy": ["size"], "sortOrder": "desc", "limit": 3, "target": "froggy/" } ] }

而且您可以使用“ pattern”而不是“ aql”进行相同的操作:

{ "files": [ { "pattern": "my-local-repo/*.zip", "sortBy": ["size"], "sortOrder": "desc", "limit": 3, "target": "local/output/" } ] }

您可以阅读有关文件规范here的更多信息。
© www.soinside.com 2019 - 2024. All rights reserved.