摘要: 目前雲效上線了企業級Maven私有倉庫服務。用戶能夠一鍵開通Maven私有倉庫服務,零配置實現私有二方庫的上傳和下載。html
通過半個月的公測,雲效中的企業級Maven私有倉庫服務正式上線,全面開放使用。用戶能夠一鍵開通Maven私有倉庫服務,零配置實現私有二方庫的上傳和下載。後端
企業級Maven私有倉庫核心功能點maven
如下是使用說明。ui
點擊‘個人’連接,選擇左側菜單欄中的‘設置’按鈕,將‘私有倉庫’服務加入到左側菜單欄中。阿里雲
這樣在左側菜單欄會看到‘私有倉庫’連接。url
雖然啓用了私有倉庫服務,當雲效並無真正的爲您建立企業級Maven私有倉庫。點擊左側菜單欄'私有倉庫'連接後,若是您是企業管理員,會出現如下界面:spa
'點擊開通'便可開通倉庫服務。3d
企業的普通用戶並無開通倉庫的權限,則須要聯繫您的企業管理員進行開通操做。code
開通成功之後顯示界面以下:xml
雲效會自動爲該企業生成兩個Maven私庫,一個是Release倉庫,用於存儲正式版本的二方庫;另外一個是Snapshot倉庫,用於存放Snapshot版本的二方庫。
私有倉庫不容許匿名上傳和下載二方庫,雲效爲每一個私有倉庫生成了相應的用戶名和密碼。請注意不要泄露該用戶名和密碼。
用戶能夠經過該頁面下載完整的settings.xml文件,也能夠根據本身的需求在settings.xml文件中添加公共倉庫的鏡像地址。
用戶能夠經過UI上傳二方庫。目前支持經過GAV的模式進行上傳,單個二方庫的大小限制爲300M。
對二方庫的檢索支持關鍵字搜索和GAV搜索兩種模式。
用戶能夠查看檢索出來的二方庫的基本信息,也能夠下載二方庫。
若是用戶項目代碼庫的根目錄沒有Maven的settings.xml文件,那麼雲效構建時會爲用戶自動生成一個settings.xml文件。該文件不只包括了maven.aliyun.com等公共倉庫地址,也自動引入了該企業的兩個私有倉庫地址。因此用戶經過雲效構建時,無需任何額外配置就能夠實現下載私有倉庫中的二方庫。
若是用戶項目代碼庫的根目錄定製了Maven的settings.xml文件,那麼用戶須要自行將私有倉庫的配置信息添加到該文件中。具體能夠參考Maven私有倉庫服務。
若是想經過流水線發佈二方庫到私有倉庫,能夠先在項目代碼庫根目錄的pom.xml中指定分發的倉庫地址,示例以下:
<distributionManagement> <repository> <id>releases</id> <url>http://repo.rdc.aliyun.com/repository/24409-release-87w1FL/</url> </repository> </distributionManagement>
項目代碼庫根目錄的<應用名>.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
中指定的命令。
本文爲雲棲社區原創內容,未經容許不得轉載。