簡體   English   中英

如何下載工件依賴項的最新集成版本

[英]How do I download the latest INTEGRATION verison of an artifactory dependency

我在 jenkins 中構建了一個人工制品(通用)。 它非常適合發布,但我在“下載”部分的規范文件中寫入內容時遇到問題。

我希望我的構建從另一個構建下載文件的最新版本。 我的 repo 布局是這樣配置的,如果我使用像這樣的 url: http://artiserver:8081/artifactory/infra/package-scripts/[INTEGRATION]/scripts_archive.tar.gz,我總是得到該文件的最新版本。

在通用工件集成作業配置的“下載文件”規范部分中,我可以編寫如下規范文件:

{
   "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,那么它實際上提供了相同的結果。 另請注意,在指定構建時仍會使用“模式”屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM