2017-01-16 40 views
1

我在jenkins中创建了artifactory(generic)版本。它适用于发布,但我在“下载”部分的spec文件中编写什么时遇到问题。如何下载artifactory依赖项的最新INTEGRATION版本

我想让我的构建从另一个版本下载最新版本的文件。我的回购布局配置,以便如果我使用像这样的网址:http://artiserver:8081/artifactory/infra/package-scripts/[INTEGRATION]/scripts_archive.tar.gz我总是得到该文件的最新版本。

在通用artifactory的集成作业的配置,我可以写一个规范文件,像这样的“下载文件”规范部分:

{ 
    "files": [ 
    { 
     "pattern": "infra/package-scripts/32/scripts_archive.tar.gz" 
    } 
    ] 
} 

而这个工作正常(总是得到32版本的神器。我想要做的工作依赖于最新版本(即我从整合链接获得),例如:

{ 
    "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 -

原来我可以” t尚未使用jenkins spec文件中的排序/限制AQL - https://www.jfrog.com/jira/browse/HAP-832

+0

我可以使用一些AQL吗? – IanNorton

回答

5

在Jenkins Artifactory Plugin的2.9.0版本中,Download Spec架构已扩展为包含新的“构建”属性。这为您提供了对下载文件的额外过滤,以便它们成为特定构建的工件。 如果你没有指定一个特定的版本号,你会得到发布到Artifactory的最新版本的工件。 请注意,“构建”属性可以提供最新版本,而不是最新版本,但如果您的构建发布构建信息给Artifactory,那么它实际上会提供相同的结果。另请注意,指定构建时仍然使用“pattern”属性。

相关问题