HarmonyOS - 手把手教你搭建Artifactory
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??
Artifactory簡介
jfrog artifactory是一款二進(jìn)制存儲(chǔ)管理工具,用來管理構(gòu)建工具(如:maven、gradle)等所依賴的二進(jìn)制倉庫,以方便管理第三方庫和發(fā)布目標(biāo)版本庫,從而提高軟件開發(fā)效率。它提供大量的插件以利于和不同工具之間的整合,內(nèi)部使用權(quán)限管理更加安全,并支持高并發(fā)等等特性。
搭建Artifactory步驟:
第一步
檢測你的jdk版本是否為1.8及以上(jdk安裝步驟、環(huán)境變量的配置等 略)。
第二步
解壓 artifactory_pro_and_crack.zip 文件(資源文件在文章末尾給出)。
第三步
執(zhí)行 java -jar artifactory-injector-1.1.jar。
第四步
選擇如下圖中的 “2”。
第五步
輸入artifactory home目錄,選擇"yes"。
效果展示
第六步
選擇"1",輸出License,保存這個(gè)License后面要用,如下圖所示:
另開一個(gè)新的命令提示符:
D:…\artifactory-pro-6.6.0\bin 執(zhí)行artifactory.bat start命令,出現(xiàn)如下圖所示結(jié)果:
第七步
此時(shí)你在瀏覽器中輸入 http://localhost:8081/artifactory/ ,然后一定要耐心等待,剛開始服務(wù)沒啟動(dòng)起來的時(shí)候可能無法顯示此網(wǎng)頁,但是等服務(wù)慢慢啟動(dòng)起來的話你刷新后就可以看到如下的loading動(dòng)畫了。
第八步
點(diǎn)擊“Next”,粘貼第六步保存的License,如圖:
第九步
繼續(xù)點(diǎn)擊“Next”,設(shè)置密碼,如圖:
第十步
繼續(xù)點(diǎn)擊“Next”,Create Repositories,選擇maven,如圖:
第十一步
點(diǎn)擊“Create”,顯示如圖:
第十二步
點(diǎn)擊“Finish”,展示如下:
第十三步
點(diǎn)擊“Log in ”,輸入賬號密碼。
第十四步
按照步驟1、2點(diǎn)擊“New” New Local Repository設(shè)置Repository Key為“ohos_local”, 如下圖:
第十五步
按照步驟1、2點(diǎn)擊“New” New Remote Repository。
1、設(shè)置Repository Key為:“huawei_cloud” URL:“https://repo.huaweicloud.com/repository/maven/ ”。
2、設(shè)置Repository Key為:“huawei_repo” URL:“https://developer.huawei.com/repo/ ”。
第十六步
按照步驟1、2點(diǎn)擊“New” New Virtual Repository,設(shè)置Repository Key為 “ohos-group”。
Repositories 選擇上面創(chuàng)建的“ohos_local”、“huawei_cloud”、“huawei_repo”,如下圖:
創(chuàng)建完畢。如圖:
第十七步
添加jfrog gradle依賴。
1、工程模塊下build.gradle。
添加jfrog的gradle依賴,注意版本,不同版本的下文DSL寫法不同,本文使用的jfrog gradle版本是4.15.2:
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.15.2"
}
2、module下的build.gradle。
在該module下的build.gradle文件中添加maven-publish和artifactory的插件,并且使用jfrog gradle的DSL語法添加相關(guān)配置,然后構(gòu)建工程,代碼如下,詳解見注釋:
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
//定義artifactory倉庫的地址,按照你自己的修改
def MAVEN_LOCAL_PATH = 'http://localhost:8081/artifactory/'
//當(dāng)其它項(xiàng)目遠(yuǎn)程依賴的時(shí)候,結(jié)構(gòu)類型就是:implementation 'GROUP_ID:ARTIFACT_ID:VERSION_NAME '
def GROUP_ID = 'com.kaihong.example'
def ARTIFACT_ID = 'kaihong'
def VERSION_NAME = '1.0.0'
publishing {
publications {
har(MavenPublication) {//注意這里定義的 aar_pub,在artifactoryPublish 下需要使用
groupId = GROUP_ID
artifactId = ARTIFACT_ID
version = VERSION_NAME
// har文件所在的位置
// module打包后所在路徑為module模塊下的build/outputs/aar,生成的aar名稱為:module名-release.aar
artifact("$buildDir/outputs/har/release/${project.getName()}-release.har")
}
}
}
artifactoryPublish {
contextUrl = MAVEN_LOCAL_PATH
publications ('har') //注意這里使用的是上面定義的 har
clientConfig.publisher.repoKey = 'ohos_local' //上傳到的倉庫地址
clientConfig.publisher.username = 'admin' //artifactory 登錄的用戶名
clientConfig.publisher.password = 'password123' //artifactory 登錄的密碼
}
第十八步
打包并上傳:
DevEco Studio 經(jīng)過上述步驟之后,在右側(cè)Gradle面板中找到template module,然后找到Tasks->other->releaseHarmonyHar,雙擊執(zhí)行后即可在template module下的build/outputs/har/release文件夾下看到生成的har文件了。
然后我們在Gradle面板中,同樣是template module下,找到Task->publishing->artifactoryPublish:
雙擊之后即可看到控制臺(tái)中會(huì)不斷的輸出執(zhí)行信息。
等待片刻后可以看到倉庫中已經(jīng)有了我們上傳上來的har文件等:
注意:每次更新了hello module的代碼想要重新生成的har文件時(shí),需要先Clean Project,然后執(zhí)行releaseHarmonyHar,然后再執(zhí)行 artifactoryPublish,否則會(huì)無法上傳。
第十九步
其它項(xiàng)目使用:
其它項(xiàng)目使用的時(shí)候首先你應(yīng)該配置了使用內(nèi)網(wǎng)倉庫的,那么此時(shí)可以直接在你需要使用har的模塊,添加依賴即可,例如我們剛剛上傳的har:
implementation 'com.kaihong.example:kaihong:1.0.0'
然后運(yùn)行項(xiàng)目即可。
注意: 工程的build.gradle更改如下圖所示:DevEco Studio 3.0 Beta2 版本需要添加 allowInsecureProtocol = true。
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??