2014-07-07 92 views
1

我們的項目目前每天下載500多個SNAPSHOT罐子。特別是當Artifactory遠程安裝時,這正成爲開發的負擔,因此連接並不理想。減少冗餘SNAPSHOT

我想知道最好的方法來減少部署到Artifactory的冗餘SNAPSHOTs罐。我們有一個大型的多模塊項目,部署了近200個新的SNAPSHOT罐子,但實際上只有1個模塊包含了更改。

我發現了一個類似的問題raised in the forum但是沒有明確的答案。由於this issue,增量構建對我們不可行。

任何建議表示讚賞!

回答

1

在Artifactory的維基的「​​」頁面描述了各種方法清除舊的快照:

  1. 限制快照的數量 - 你可以指定可存儲的快照的最大數量。
    要指定可以存儲的最大快照數量,請在「編輯存儲庫」對話框中選擇「基本設置」選項卡。您首先需要檢查「處理快照」複選框,然後您可以設置「最大唯一快照」字段。默認情況下,此值爲零,這意味着所有快照都已保存。
  2. 使用用戶自定義清理邏輯的用戶插件 - 您可以編寫腳本來實現幾乎任何自定義清理邏輯。這爲您提供了廣泛和靈活的一組定製功能。請參閱Github
+0

CMIIW,但Artifactory中的「獨特」意味着每次我部署完全相同的SNAPSHOT jar時,它們將被認爲是唯一的權利?因此,它不能解決我的問題,即重複部署和重新下載相同的二進制文件。 – ceilfors

+1

唯一快照意味着每個新部署的快照都將獲得唯一版本(基於時間戳)。它與前一個相同並不重要。通過設置最大獨特快照,可以限制將保留的快照數量。另外,如果兩個工件是二進制相同的(相同的校驗和),Artifactory將只保留一次二進制文件並且有多個指針(基於校驗和的存儲)。這樣做是爲了節省磁盤空間。 –

+0

不幸的是,這不是我們試圖解決的磁盤空間問題。 Maven將通過檢查時間戳而不是校驗和來確定SNAPSHOT是否是新的。下載將再次發生,這是我們正在努力解決的問題。 – ceilfors

0

如果只有一個模塊更改,那麼爲什麼要重新構建整個項目?或者換句話說,你的經常更換的模塊看起來與你的其他項目有不同的生命週期,所以你應該考慮把它移到一個單獨的項目上,它有自己的發佈週期。