Artifactory搭建本地倉庫
關於Artifactory
Artifactory是什麼?
根據官方的解釋:
JFrog Artifactory 是目前全球唯一一個支持所有開發語言,任意維度的元數據檢索、跨語言正反向依賴分析,並同時擁有深度遞歸、支持多活異地災備的企業級、高可用二進制製品管理倉庫。世界五百強中93%的企業已經將Artifactory作爲自己DevOps的核心繫統。
什麼是製品庫
即構建過程的輸出物,包括軟件包,測試報告,應用配置文件等可在服務器上直接 運行或可查看二進制形式的文件,通常稱之爲二進制軟件製品。不同開發語言 所產生的製品的獲取、使用、共享方式不同,不同的製品倉庫能夠管理各自開發語言類型的二進制製品。製品管理是對軟件研發過程中生成的產物的管理, 一般作爲最終交付物完成發佈和交付。所有的製品包,依賴組件均能夠納入統一 製品庫中統一管理。製品庫應作爲測試及生產部署的唯一可信製品來源。
官網:https://www.jfrogchina.com/
安裝&啓動
下載Artifactory後,如果環境是window系統,可以直接雙擊運行bin
目錄下的artifactory.bat
文件,服務器啓動成功後,在瀏覽器地址欄輸入:http://localhost:8081/artifactory/
,進入後臺管理面板。
如果環境是Mac OS系統,通過控制檯進入bin目錄下輸入命令 ./artifactory.sh start 啓動服務。
home頁面
選擇創建 本地&遠程&虛擬的Maven倉庫
創建本地倉庫
點擊左側菜單欄用戶
圖標,然後選擇右側的Repositories
下的Local
,在打開的界面中,點擊右上角的New
,在彈出的界面中選擇Maven
,輸入Repository key
,這個key就是本地倉庫的名字,可以任意輸入,但不能和已存在的倉庫重名,輸入後,不用修改其它,直接點擊右下角的Save&Finish
。
創建遠程倉庫
點擊左側菜單欄用戶
圖標,然後選擇右側的Repositories
下的Remote
,在打開的界面中,點擊右上角的New
,在彈出的界面中選擇Maven
,輸入Repository key
,這個key就是遠程倉庫的名字,可以任意輸入,但不能和已存在的倉庫重名,輸入後,還需要配置URL
選項,配置完成後點擊右下角的Save&Finish
。
PS:在這裏推薦AliRepo 倉庫服務,URL:https://maven.aliyun.com/mvn/view
注意事項:創建遠程倉庫時,容易出現以下的一個錯誤,提示Error parsing json body
,出現這個問題,是由於Max Unique Snapshots
的配置項,Chrome瀏覽器自己幫我們填充了admin的內容,而這個配置項是一個int的類型,刪除默認填充的admin,再次點擊Save&Finish就可以創建成功。
一般來說,我們需要創建google,jcenter,public這三個倉庫,對應的URL在AliRepo 倉庫服務中都可以找到,創建後的效果:
創建虛擬倉庫
上傳文件到本地
默認本地文件的size是100M,所以要上傳大於100M的文件之前需要先修改默認size
Admin-->Configuration-->General Configuration,把【Bintray Max Files Upload】修改爲200M並保存。
然後上傳本地gradle.zip文件
點擊左側菜單欄的Artifacts
,選擇之前創建的本地倉庫,然後點擊右上角的Deploy
,在彈出的界面,選擇需要上傳的文件,上傳完成後,點擊右下角的deply。
引入Artifactory
修改項目根目錄下的build.gradle
文件,將buildscript
和allprojects
節點下的repositories
修改爲本地搭建的artifactory
地址
修改gradle-wrapper.properties文件中的distributionUrl的值
此時從新編譯項目,項目依賴的資源,會先下載到本地倉庫,後續再新建項目,依賴的資源如果在本地倉庫已經存在,則會先引用本地倉庫的資源。通過引用本地倉庫,能夠加快項目構建。
最後附上使用本地庫和不使用本地庫編譯時間的對比