本文介紹如何將已有 Maven 私庫中的制品包批量遷移到云效的 Maven 私庫中。
操作步驟
下載遷移工具migrate-local-repo-tool.jar。
使用如下命令在本地運行遷移工具(請確保您的JDK版本為1.8及以上)。您的本地倉庫中的a制品將會被批量遷移到云效中您所指定的 Maven 私庫中。
java -jar migrate-local-repo-tool.jar -cd "$HOME/.m2/repository/" -t "<云效 Packages 的目標倉庫地址>" -u <用戶名> -p <密碼>
參數
說明
-cd
您要遷移的本地目錄,例如:$HOME/.m2/repository/。
-t
目標倉庫地址。
-u
用戶名。
-p
密碼。
重要倉庫地址、用戶名和密碼為您要上傳的目標倉庫的倉庫地址、用戶名及密碼,您可以在云效 Packages 的 Maven 制品倉庫的倉庫指南中獲取對應倉庫的地址、username 和 password。
如果遷移的本地目錄中文件目錄過多或者目錄層級過深,可能會導致遷移命令卡死或者返回異常。推薦做法是只遷移您自己的私有制品到私有倉庫中,構建時拉取公共制品包可以使用我們提供的公共代理庫。假設您的私有制品都放置在$HOME/.m2/repository/com/alibaba/**
目錄中,您可以將com/alibaba/**/
目錄復制一份到一個空的目錄中,比如復制到/tmp/repo/
中,然后運行遷移命令時將-cd
命令參數指定為/tmp/repo/
,這樣遷移工具只會遷移您的私有制品。
遷移工具只支持遷移 release 版本包,不支持遷移 snapshot 版本包。
遷移的包目錄結構及包名需滿足
groupId/artifactId/version/package
規范。
添加現有私庫為云效私庫的遠程倉庫
云效提供了將其他倉庫關聯為遠程倉庫的功能,使得云效私庫既具備上傳下載包的能力,又具備代理其他倉庫的能力。當使用云效私庫下載包時,它也會嘗試從遠程倉庫拉取包,并且緩存在云效私庫。
遠程倉庫地址為您想要代理的私庫地址,這個地址必須是公網可以訪問的。如果該私庫可以匿名訪問,那么無需配置訪問賬號和密碼。單擊綁定可以保存配置。您可以隨時修改配置或者解除關聯。
只有已經緩存在云效私庫的制品包才能被搜索到。
如果代理的遠程倉庫的網絡環境不佳會導致云效私庫的下載速度變慢。