2010-11-04 44 views
0

我們向Artifactory部署了一個具有[文件名]名稱的工件,該工件獲得Artifactory對其應用的時間戳。稍後在不同的主幹中,其構建嘗試使用之前部署的相同名稱下載該構件。但是,由於Artifactory應用於文件名的時間戳,此後續生成失敗,並顯示「無法從任何存儲庫下載工件」錯誤。除了轉換Artifactory時間戳之外,是否有解決此問題的方法?我們的信念是Artifactory足夠聰明,至少可以在需要時返回最新的帶時間戳的神器。爲什麼不能Artifactory下載請求神器?

+0

它是'SNAPSHOT'神器(即與一個版本'xxx-SNAPSHOT')? – romaintaz 2010-11-04 16:58:44

+0

是的。這絕對是一個快照場景。運行在不同版本中的請求者下載器需要最新的快照,但無法獲取它,因爲它不知道時間戳名稱。 – 2010-11-04 17:04:53

+0

我有類似的問題與maven 3和nexus存儲庫。你設法解決這個問題嗎? – 2012-03-28 12:09:49

回答

0

通常這將是一個評論,但由於我缺乏這個代表我做這個回答: 確實Artifactory應該能夠處理這個。你爲什麼認爲時間戳是問題?快照和f.e.這是正常的。 maven-metadata.xml應指出哪個是最後一個版本。

您是否使用工件的版本範圍?

其構建嘗試使用與之前部署的相同名稱來下載該構件。

我是否正確地告訴您:您描述的部署Artifactory在其(自己)構建中的工件是否想要使用它自己?你能發佈你的POM的相關部分嗎?

0

我在將存儲配置從存儲非唯一快照更改爲唯一快照後最近遇到類似問題。 (請參閱here

當存在相同版本的工件的唯一快照和非唯一快照時,將會出現下載問題。

例如,在一個庫中,如果文件夾下的/com/mycompany/test/foo/1.0.0-SNAPSHOT/foo-1.0.0-SNAPSHOT.pomfoo-1.0.0-20130329-231102-1.pom,然後下載com.mycompany.test:FOO:1.0.0-快照:POM會得到錯誤。您必須刪除名稱中帶有SNAPSHOT的文件或帶有時間戳名稱的所有文件。

對我而言,我的存儲庫從存儲非唯一快照切換到唯一快照,所以我應該刪除* -SNAPSHOT文件。我編寫了一個Ruby腳本來掃描所有最近部署的工件,並嘗試刪除相同版本的非唯一快照(-SNAPSHOT)文件(如果有)。它使用Artifactory的REST API。這是來源:https://gist.github.com/aleung/5260512

相關問題