【新功能】企業級Maven私有倉庫服務結束公測,全面開放使用
經過半個月的公測,雲效中的企業級Maven私有倉庫服務正式上線,全面開放使用。用戶可以一鍵開通Maven私有倉庫服務,零配置實現私有二方庫的上傳和下載。
企業級Maven私有倉庫核心功能點
一鍵開通,自動生成release和snapshot兩個倉庫;
高效上傳和下載,後端存儲使用阿裏雲OSS服務,二方庫永不丟失;
與雲效構建高度集成,無需額外配置即可與私庫打通。
以下是使用說明。
將私有倉庫服務加入側邊欄
點擊‘我的’鏈接,選擇左側菜單欄中的‘設置’按鈕,將‘私有倉庫’服務加入到左側菜單欄中。
這樣在左側菜單欄會看到‘私有倉庫’鏈接。
開通倉庫
雖然啟用了私有倉庫服務,當雲效並沒有真正的為您創建企業級Maven私有倉庫。點擊左側菜單欄'私有倉庫'鏈接後,如果您是企業管理員,會出現以下界面:
'點擊開通'即可開通倉庫服務。
企業的普通用戶並沒有開通倉庫的權限,則需要聯系您的企業管理員進行開通操作。
開通成功以後顯示界面如下:
倉庫地址
雲效會自動為該企業生成兩個Maven私庫,一個是Release倉庫,用於存儲正式版本的二方庫;另一個是Snapshot倉庫,用於存放Snapshot版本的二方庫。
settings.xml配置
私有倉庫不允許匿名上傳和下載二方庫,雲效為每個私有倉庫生成了相應的用戶名和密碼。請註意不要泄露該用戶名和密碼。
用戶可以通過該頁面下載完整的settings.xml文件,也可以根據自己的需求在settings.xml文件中添加公共倉庫的鏡像地址。
上傳二方庫
用戶可以通過UI上傳二方庫。目前支持通過GAV的模式進行上傳,單個二方庫的大小限制為300M。
檢索
對二方庫的檢索支持關鍵字搜索和GAV搜索兩種模式。
用戶可以查看檢索出來的二方庫的基本信息,也可以下載二方庫。
雲效構建時從私有倉庫下載二方庫
如果用戶項目代碼庫的根目錄沒有Maven的settings.xml文件,那麽雲效構建時會為用戶自動生成一個settings.xml文件。該文件不僅包括了maven.aliyun.com等公共倉庫地址,也自動引入了該企業的兩個私有倉庫地址。所以用戶通過雲效構建時,無需任何額外配置就可以實現下載私有倉庫中的二方庫。
如果用戶項目代碼庫的根目錄定制了Maven的settings.xml文件,那麽用戶需要自行將私有倉庫的配置信息添加到該文件中。具體可以參考Maven私有倉庫服務。
通過雲效上傳二方庫到私有倉庫
如果想通過流水線發布二方庫到私有倉庫,可以先在項目代碼庫根目錄的pom.xml中指定分發的倉庫地址,示例如下:
項目代碼庫根目錄的<應用名>.release
中指定構建命令為上傳二方庫,例如:
build.command=mvn clean deploy -Dmaven.test.skip
然後在雲效中創建一條流水線,創建一個構建任務。示例配置如下:
也可以在構建命令中指定分發的倉庫地址。方式是在Maven命令中指定-DaltDeploymentRepository
參數。
build.command=mvn -DaltDeploymentRepository=rdc-releases::default::https://repo.rdc.aliyun.com/repository/24409-release-87w1FL/ deploy -Dmaven.test.skip
altDeploymentRepository指定了id::layout::url
。在雲效的Maven私有倉庫服務中release倉庫的id為rdc-releases
。SNAPSHOT倉庫的id為rdc-snapshots
。layout一般使用默認值default,而url則為release倉庫或SNAPSHOT倉庫的url。上傳到SNAPSHOT倉庫的示例命令如下:
build.command=mvn -DaltDeploymentRepository=rdc-snapshots::default::https://repo.rdc.aliyun.com/repository/24409-snapshot-AA0Hx0/ deploy -Dmaven.test.skip
單應用同時支持應用構建和二方庫發布
如果一個項目既要實現打包和部署,又要為其他項目提供SDK二方庫,那麽單個build.command
配置就無法滿足這種場景。您可以使用傳入參數改變構建行為中的方式,使用PACKAGE_LABEL
區分不同的構建命令。一個完整的例子如下。
在代碼庫根目錄的<應用名>.release
文件中指定如下配置項:
deploy.build.command=mvn -DaltDeploymentRepository=rdc-releases::default::https://repo.rdc.aliyun.com/repository/24409-release-87w1FL/ deploy -Dmaven.test.skip
這個配置項使用前綴deploy
作為包標簽。然後創建一條流水線,在構建任務中打開高級配置項,進行如下配置:
與上一個構建任務唯一不同的是這裏將高級配置中的包標簽的值改為deploy
,這樣觸發構建時執行的就是deploy.build.command
中指定的命令。
原文鏈接
【新功能】企業級Maven私有倉庫服務結束公測,全面開放使用