2013-07-11 104 views
14

我想在Artifactory中創建一個artifact的最新快照版本的固定鏈接。如果我們使用的是1.0-SNAPSHOT,我想要一個下載最新的1.0-SNAPSHOT JAR的URL。我可以在http://hostname/artifactory/libs-snapshot/groupId/artifactId/1.0-SNAPSHOT/的服務器上找到工件,找到最新的工件。除了檢查時間戳之外,我可以通過在相同目錄中打開maven-metadata.xml並將元數據/版本/快照時間戳和buildNumber與JAR進行匹配來確定哪一個是最新的。這可能是腳本化的,但理想情況下,Artifactory已經有了以這種方式構建永久鏈接的方法。 Artifactory是否提供這樣的URL?是否有Artifactory中的工件的最新快照的URL?

+0

有沒有得到一個解決方案本? –

+0

@RoyTruelove不,我從來沒有找到一個可行的解決方案。我已經切換了項目,這不再是我的問題。 – BennyMcBenBen

回答

5

對URL名稱中帶有artifactId-1.0-SNAPSHOT.jar的條目執行正常查詢應自動返回最新快照。 參見文檔here

一件事:這是根據最新創建日期(如果沒有pom存在)或最新創建的pom(如果有的話)。混合pom和非pom部署可能會導致奇怪的結果!

+2

感謝您鏈接到文檔。我已經嘗試了你的解決方案,但是我的Artifactory實例返回了一個404. – BennyMcBenBen

+3

來自頁面:注意:需要Artifactory Pro。哎呀。 –

2

我嘗試使用shell腳本,它爲我工作。

步驟1:通過單擊用戶名或創建普通用戶,爲您的用戶帳戶獲取加密的密碼。轉到使用安全密碼部分在以下鏈接 http://www.jfrog.com/confluence/display/RTF/Centrally+Secure+Passwords

步驟2:在您的本地機器上創建一個臨時文件夾,然後鍵入該捲曲(可wget的窗戶)命令:

curl -o tmp/foo.jar --user <username>:<encrypted_password> <artifactory_url>/list/libs-snapshot-local/com/search/foo/1.0/foo-1.0-SNAPSHOT.JAR 

tmp文件夾中的foo.jar是最新版本。如果我們不提供時間戳,就會在該版本中下載最新的工件。希望這可以幫助!

+1

這隻適用於Artifactory Pro,但如果你有它的話,我的關鍵是*/list/*在URL中。 – Idcmp

相關問題