前言
年初,關(guān)于如何上傳遠(yuǎn)程共享包箍铲,自己做了一份梳理,HarmonyOS開(kāi)發(fā):超詳細(xì)介紹如何開(kāi)源靜態(tài)共享包鬓椭,在結(jié)尾的時(shí)候颠猴,說(shuō)下篇闡述一下共享包的私服搭建和使用,奈何時(shí)間一去不復(fù)返小染,給遺漏了翘瓮,這兩天,有人在群中發(fā)問(wèn)氧映,那么本篇文章春畔,就把私服共享包從0到1的總結(jié)一下。
遠(yuǎn)程很好理解岛都,把自己的共享包發(fā)布到公網(wǎng),不僅自己可以用振峻,任何一個(gè)想要使用的人都可以進(jìn)行使用臼疫,而在實(shí)際的開(kāi)發(fā)中,有些組件扣孟,有些工具庫(kù)烫堤,有些共享包,是有隱私的凤价,只可本公司或自己可用鸽斟,那么私服的作用就來(lái)了,就是為了解決這一問(wèn)題利诺。
私服還有一個(gè)優(yōu)勢(shì)富蓄,那就是可以上傳動(dòng)態(tài)共享包,這是遠(yuǎn)程中心倉(cāng)庫(kù)所不能比的慢逾。
本文大綱如下:
1立倍、ohpm-repo私服工具下載安裝
2、上傳一個(gè)靜態(tài)共享包到私服
3侣滩、上傳一個(gè)動(dòng)態(tài)共享包到私服
4口注、私服平臺(tái)頁(yè)面簡(jiǎn)單介紹
5、項(xiàng)目里引入私服使用
6君珠、相關(guān)總結(jié)
一寝志、ohpm-repo私服工具下載安裝
1、node環(huán)境配置
ohpm-repo 依賴(lài)于 node 運(yùn)行,還好材部,鴻蒙項(xiàng)目也是需要Node的悠菜,基本上你若是有DevEco Studio,node環(huán)境都是存在的败富,如果沒(méi)有悔醋,node環(huán)境還請(qǐng)自行配置,可以參考Node官方地址:https://nodejs.org/download/release/latest/兽叮。
如果你已經(jīng)安裝了node芬骄,并配置了環(huán)境,可以執(zhí)行下命令鹦聪,查看是否安裝成功账阻,如果能正常輸出版本號(hào),那么證明安裝成功泽本,否則就是失敗淘太。
2、下載 ohpm-repo 私倉(cāng)工具包
下載工具地址:
https://developer.huawei.com/consumer/cn/download/
下載好之后规丽,進(jìn)行解壓蒲牧,得到如下目錄:
把bin目錄的路徑配置到系統(tǒng)環(huán)境變量path中,執(zhí)行如下命令赌莺,如果能正常輸出版本號(hào)冰抢,那么證明安裝成功,否則就是失敗艘狭。
ohpm-repo -v
3挎扰、配置IP
如果你是自己本機(jī)使用,則無(wú)需修改巢音,如果你打算區(qū)域網(wǎng)內(nèi)使用遵倦,那么需要修改ip地址,在conf目錄下官撼,打開(kāi)config.yaml文件里進(jìn)行修改梧躺。
listen: localhost:8088 # 建議修改為具體的ip:port
如果有內(nèi)網(wǎng)環(huán)境,可以直接把工具安裝到內(nèi)網(wǎng)里即可歧寺。
4燥狰、其它配置
config.yaml文件里除了ip配置之外,還有很多基本配置斜筐,比如deploy_root龙致,安裝根目錄配置,本地?cái)?shù)據(jù)存儲(chǔ)路徑配置等等:
deploy_root: '' # 安裝根目錄 (不配置默認(rèn)為 `<現(xiàn)有用戶(hù)home目錄>/ohpm-repo`)顷链,只支持絕對(duì)路徑目代,且路徑目錄必須存在
db: # 必須用 yaml 數(shù)組形式寫(xiě)法
type: filedb
config: # 如果想修改存儲(chǔ)路徑且保留舊的數(shù)據(jù),則需要把舊路徑下的數(shù)據(jù)文件遷移至新路徑
path: ./db # 本地?cái)?shù)據(jù)存儲(chǔ)路徑,不配置默認(rèn)為<deploy_root>/db;
當(dāng)然了榛了,如果你沒(méi)有特殊的需求在讶,可以選擇默認(rèn)配置。
5霜大、安裝啟動(dòng)
相關(guān)配置更新之后构哺,我們就可以進(jìn)入到bin目錄下,執(zhí)行安裝命令:
ohpm-repo install
那么在deploy_root配置路徑下战坤,就會(huì)生成私服的資源文件:
ohpm-repo安裝成功后曙强,進(jìn)入ohpm-repo工具包解壓目錄下的 bin 目錄下,執(zhí)行如下命令途茫,啟動(dòng) ohpm-repo:
ohpm-repo start
打開(kāi)我們配置好的ip路徑碟嘴,就可以發(fā)現(xiàn),我們的服務(wù)已經(jīng)起來(lái)了囊卜,之后我們就可以進(jìn)行上傳和下載共享包使用了娜扇,首次登錄,賬號(hào)名稱(chēng):admin栅组,密碼:12345Qq! 雀瓢。
登錄之后就可以進(jìn)行修改。
登錄之后笑窜,可以進(jìn)行很多管理致燥,比如賬號(hào)的管理,倉(cāng)庫(kù)管理等等排截。
二、上傳一個(gè)靜態(tài)共享包到私服
通過(guò)以上的流程辐益,把環(huán)境搭建完畢了断傲,我們就可以把共享包上傳到這里,除了管理員上傳之外智政,他人也可以進(jìn)行注冊(cè)上傳认罩。
上傳分為兩種方式,一種是可視化的上傳续捂,也就是在平臺(tái)上直接上傳垦垂,還有一種就是通過(guò) ohpm 命令行工具。
1牙瓢、基礎(chǔ)配置
配置秘鑰
利用工具 ssh-keygen 生成公劫拗、私鑰,可執(zhí)行以下命令矾克,<your_key_path>是配置公鑰和私鑰的名稱(chēng)和存放路徑页慷,僅包含名稱(chēng)時(shí),以當(dāng)前命令行工作路徑為存儲(chǔ)目錄。
ssh-keygen -m PEM -t RSA -b 4096 -f <your_key_path>
執(zhí)行成功之后酒繁,會(huì)生成兩個(gè)文件滓彰,一個(gè)公鑰,一個(gè)私鑰州袒。
配置公鑰
登錄 ohpm-repo 私倉(cāng)管理地址揭绑,找到認(rèn)證管理,把.pub文件里的內(nèi)容粘貼到這里郎哭。
配置私鑰
打開(kāi)命令行工具他匪,執(zhí)行如下命令設(shè)置私鑰路徑。
ohpm config set key_path <your_key_path>
執(zhí)行命令彰居,如果提示'ohpm' 不是內(nèi)部或外部命令錯(cuò)誤诚纸,那就是沒(méi)有配置環(huán)境變量,找到DevEco Studio安裝目錄陈惰,找到tools\ohpm\bin目錄畦徘,配置到環(huán)境變量中,重新打開(kāi)命令工具抬闯,執(zhí)行ohpm - v井辆,如果能正常顯示版本號(hào),則環(huán)境配置成功溶握。
記得繼續(xù)執(zhí)行配置私鑰命令杯缺。
配置發(fā)布碼
登錄 ohpm-repo 私倉(cāng)管理地址,單擊主頁(yè)右上角的個(gè)人中心睡榆,復(fù)制發(fā)布碼萍肆。
將發(fā)布碼配置到 .ohpmrc 文件中,可執(zhí)行如下命令:
ohpm config set publish_id <your_publish_id>
2胀屿、平臺(tái)上直接上傳
進(jìn)入到倉(cāng)庫(kù)管理后臺(tái)塘揣,點(diǎn)擊管理三方包:
點(diǎn)擊上傳三方包:
選擇上傳:
選擇自己開(kāi)發(fā)好的靜態(tài)共享包也就是.har文件進(jìn)行上傳即可,如何開(kāi)發(fā)一個(gè)共享包宿崭,之前的文章都闡述了亲铡,這里不再贅述,切記葡兑,組織名字必須和平臺(tái)的組織名一致奖蔓,上傳成功后,就可以在平臺(tái)上查看了讹堤。
3吆鹤、ohpm 命令行工具
命令方式上傳也是非常的簡(jiǎn)單,第一次上傳需要兩步蜕劝,后續(xù)一步就可以檀头。
設(shè)置私倉(cāng)管理地址
ohpm config set publish_registry <ohpm-repo私倉(cāng)管理地址>/repos/ohpm
執(zhí)行發(fā)布
ohpm publish demo.har
輸入密碼之后轰异,出現(xiàn)你的版本號(hào),即發(fā)布成功暑始!
私服平臺(tái)搭独,就可以查看到了。
三廊镜、上傳一個(gè)動(dòng)態(tài)共享包到私服
動(dòng)態(tài)共享包 HSP 包不能直接發(fā)布在ohpm-repo內(nèi)牙肝,需要先轉(zhuǎn)化為 .tgz 包,點(diǎn)擊工具欄圖標(biāo)將編譯模式切換成release模式嗤朴。
選中動(dòng)態(tài)共享包模塊的根目錄配椭,點(diǎn)擊Build > Make Module ${libraryName} 啟動(dòng)構(gòu)建。
在build目錄下雹姊,就可以查看生成的tgz包股缸。
執(zhí)行發(fā)布命令:
如果你已經(jīng)設(shè)置私倉(cāng)管理地址,直接走發(fā)布即可吱雏。
ohpm config set publish_registry <ohpm-repo私倉(cāng)管理地址>/repos/ohpm
ohpm publish demo.tgz
四敦姻、私服平臺(tái)頁(yè)面簡(jiǎn)單介紹
私服平臺(tái)很是簡(jiǎn)單,都是可視化操作歧杏,首頁(yè)就是上傳的共享包列表镰惦,這里可以執(zhí)行搜索,點(diǎn)擊查看詳情犬绒。
詳情頁(yè)面就是文檔介紹頁(yè)面旺入,這里主要是我們研發(fā)的共享包使用方式,所以凯力,再上傳一個(gè)共享包的時(shí)候茵瘾,一定要文檔清晰。
用戶(hù)管理后臺(tái)咐鹤,這里也沒(méi)什么好說(shuō)的龄捡,用戶(hù)管理就是,可以添加和刪除管理員慷暂,倉(cāng)庫(kù)管理就是管理我們上傳的共享包,認(rèn)證管理就是公鑰配置晨雳,組織管理就是行瑞,我們上傳的組平臺(tái),操作日志餐禁,會(huì)記錄我們上傳的信息血久,比如成功或者失敗。
五帮非、項(xiàng)目里引入私服
需要配置該私有倉(cāng):
ohpm config set registry <配置的ohpm-repo私倉(cāng)服務(wù)地址>/repos/ohpm
配置好之后就可以下載使用了:
方式一:在Terminal窗口中氧吐,執(zhí)行如下命令安裝三方包讹蘑,DevEco Studio會(huì)自動(dòng)在工程的oh-package.json5中自動(dòng)添加三方包依賴(lài)。
建議:在使用的模塊路徑下進(jìn)行執(zhí)行命令筑舅。
ohpm install 你上傳的包
方式二:在工程的oh-package.json5中設(shè)置三方包依賴(lài)座慰,配置示例如下:
"dependencies": { "上傳的包": "^版本號(hào)"}
比如,我用的第二種方式:
安裝之后翠拣,就會(huì)在使用的Module中版仔,生成對(duì)應(yīng)的源碼文件:
然后就可以愉快的使用了~
六、相關(guān)總結(jié)
第一點(diǎn):需要注意的是误墓,自己開(kāi)發(fā)的靜態(tài)包也好蛮粮,動(dòng)態(tài)包也好,相關(guān)組織一定要和平臺(tái)的保持一致:
平臺(tái)組織:
自己的共享包組織:
第二點(diǎn):我們?cè)谒椒褂玫臅r(shí)候谜慌,很多場(chǎng)景下然想,也會(huì)用到遠(yuǎn)程倉(cāng)庫(kù)的共享包,為了地址不發(fā)生錯(cuò)誤欣范,其實(shí)变泄,我們可以配置兩個(gè)地址:
ohpm config set registry https://repo.harmonyos.com/ohpm,<配置的ohpm-repo私倉(cāng)服務(wù)地址>/repos/ohpm