個人博客
Artifactory搭建本地倉庫
前言
之前使用Nexus Repositories Manager
搭建了Maven本地倉庫(可參考Android Gradle
分類下的Android Gradle 多項目構建
文章)。這里,用另一種方法:使用Artifactory
來搭建本地倉庫(參考Allen老師的課程)。
啟動
下載Artifactory后,如果環境是window系統,可以直接雙擊運行bin
目錄下的artifactory.bat
文件,在瀏覽器地址欄輸入:http://localhost:8081/artifactory/
,進入后台管理面板。
創建本地倉庫
點擊左側菜單欄用戶
圖標,然后選擇右側的Repositories
下的Local
,在打開的界面中,點擊右上角的New
,在彈出的界面中選擇Maven
,輸入Repository key
,這個key就是本地倉庫的名字,可以任意輸入,但不能和已存在的倉庫重名,輸入后,不用修改其它,直接點擊右下角的Save&Finish
。
創建本地倉庫的操作過程如下:
創建遠程倉庫
點擊左側菜單欄用戶
圖標,然后選擇右側的Repositories
下的Remote
,在打開的界面中,點擊右上角的New
,在彈出的界面中選擇Maven
,輸入Repository key
,這個key就是遠程倉庫的名字,可以任意輸入,但不能和已存在的倉庫重名,輸入后,還需要配置URL
選項,配置完成后點擊右下角的Save&Finish
。
創建遠程倉庫時,容易出現以下的一個錯誤,提示Error parsing json body
,出現這個問題,是由於Max Unique Snapshots
的配置項,Chrome瀏覽器自己幫我們填充了admin的內容,而這個配置項是一個int的類型,刪除默認填充的admin,再次點擊Save&Finish就可以創建成功:
創建遠程倉庫的操作過程如下:
一般來說,我們需要創建google,jcenter,public這三個倉庫,參照下面的URL依次創建:
創建虛擬倉庫
點擊左側菜單欄用戶
圖標,然后選擇右側的Repositories
下的Virtual
,在打開的界面中,點擊右上角的New
,在彈出的界面中選擇Maven
,輸入Repository key
,這個key就是虛擬倉庫的名字,可以任意輸入,但不能和已存在的倉庫重名,輸入后,將之前創建的本地倉庫和三個遠程倉庫選擇到右側選擇列表中,配置完成后點擊右下角的Save&Finish
。
操作步驟如下:
上傳文件到本地倉庫
點擊左側菜單欄的Artifacts
,選擇之前創建的本地倉庫,然后點擊右上角的Deploy
,在彈出的界面,選擇需要上傳的文件,上傳完成后,點擊右下角的deply。
操作步驟如下:
如果上傳的文件大於100M,會報錯。在用戶-Configuration-General Configuration中,修改File Upload Max Size即可。
引入Artifactory
修改項目根目錄下的build.gradle
文件,將buildscript
和allprojects
節點下的repositories
修改為本地搭建的artifactory
地址
buildscript {
repositories {
maven{
url 'http://localhost:8081/artifactory/android_group/'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven{
url 'http://localhost:8081/artifactory/android_group/'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
修改gradle-wrapper.properties文件中的distributionUrl的值
distributionUrl=http\://localhost:8081/artifactory/android_local/gradle-4.4-all.zip
Rebuild項目,依賴的資源,會先下載到本地倉庫,后續再新建項目,依賴的資源如果在本地倉庫已經存在,則會先引用本地倉庫的資源。通過引用本地倉庫,能夠加快項目構建。