搭建屬于自己的私服共享包平臺(tái)

前言

年初,關(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)行修改梧躺。

image.png
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
image.png

那么在deploy_root配置路徑下战坤,就會(huì)生成私服的資源文件:

image.png

ohpm-repo安裝成功后曙强,進(jìn)入ohpm-repo工具包解壓目錄下的 bin 目錄下,執(zhí)行如下命令途茫,啟動(dòng) ohpm-repo:

ohpm-repo start
image.png

打開(kāi)我們配置好的ip路徑碟嘴,就可以發(fā)現(xiàn),我們的服務(wù)已經(jīng)起來(lái)了囊卜,之后我們就可以進(jìn)行上傳和下載共享包使用了娜扇,首次登錄,賬號(hào)名稱(chēng):admin栅组,密碼:12345Qq! 雀瓢。

登錄之后就可以進(jìn)行修改。

image.png

登錄之后笑窜,可以進(jìn)行很多管理致燥,比如賬號(hào)的管理,倉(cāng)庫(kù)管理等等排截。

image.png

二、上傳一個(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>
image.png

執(zhí)行成功之后酒繁,會(huì)生成兩個(gè)文件滓彰,一個(gè)公鑰,一個(gè)私鑰州袒。

image.png

配置公鑰

登錄 ohpm-repo 私倉(cāng)管理地址揭绑,找到認(rèn)證管理,把.pub文件里的內(nèi)容粘貼到這里郎哭。

image.png

配置私鑰

打開(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)境配置成功溶握。

image.png

記得繼續(xù)執(zhí)行配置私鑰命令杯缺。

配置發(fā)布碼

登錄 ohpm-repo 私倉(cāng)管理地址,單擊主頁(yè)右上角的個(gè)人中心睡榆,復(fù)制發(fā)布碼萍肆。

image.png

將發(fā)布碼配置到 .ohpmrc 文件中,可執(zhí)行如下命令:

ohpm config set publish_id <your_publish_id>

2胀屿、平臺(tái)上直接上傳

進(jìn)入到倉(cāng)庫(kù)管理后臺(tái)塘揣,點(diǎn)擊管理三方包:

image.png

點(diǎn)擊上傳三方包:

image.png

選擇上傳:

image.png

選擇自己開(kāi)發(fā)好的靜態(tài)共享包也就是.har文件進(jìn)行上傳即可,如何開(kāi)發(fā)一個(gè)共享包宿崭,之前的文章都闡述了亲铡,這里不再贅述,切記葡兑,組織名字必須和平臺(tái)的組織名一致奖蔓,上傳成功后,就可以在平臺(tái)上查看了讹堤。

image.png
image.png

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ā)布成功暑始!

image.png

私服平臺(tái)搭独,就可以查看到了。

image.png

三廊镜、上傳一個(gè)動(dòng)態(tài)共享包到私服

動(dòng)態(tài)共享包 HSP 包不能直接發(fā)布在ohpm-repo內(nèi)牙肝,需要先轉(zhuǎn)化為 .tgz 包,點(diǎn)擊工具欄
image.png

圖標(biāo)將編譯模式切換成release模式嗤朴。

image.png

選中動(dòng)態(tài)共享包模塊的根目錄配椭,點(diǎn)擊Build > Make Module ${libraryName} 啟動(dòng)構(gòu)建。

image.png

在build目錄下雹姊,就可以查看生成的tgz包股缸。

image.png

執(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)擊查看詳情犬绒。

image.png

詳情頁(yè)面就是文檔介紹頁(yè)面旺入,這里主要是我們研發(fā)的共享包使用方式,所以凯力,再上傳一個(gè)共享包的時(shí)候茵瘾,一定要文檔清晰。

image.png

用戶(hù)管理后臺(tái)咐鹤,這里也沒(méi)什么好說(shuō)的龄捡,用戶(hù)管理就是,可以添加和刪除管理員慷暂,倉(cāng)庫(kù)管理就是管理我們上傳的共享包,認(rèn)證管理就是公鑰配置晨雳,組織管理就是行瑞,我們上傳的組平臺(tái),操作日志餐禁,會(huì)記錄我們上傳的信息血久,比如成功或者失敗。

image.png

五帮非、項(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)"}

比如,我用的第二種方式:

image.png

安裝之后翠拣,就會(huì)在使用的Module中版仔,生成對(duì)應(yīng)的源碼文件:

image.png

然后就可以愉快的使用了~

六、相關(guān)總結(jié)

第一點(diǎn):需要注意的是误墓,自己開(kāi)發(fā)的靜態(tài)包也好蛮粮,動(dòng)態(tài)包也好,相關(guān)組織一定要和平臺(tái)的保持一致:

平臺(tái)組織:

image.png

自己的共享包組織:

image.png

第二點(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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市熙卡,隨后出現(xiàn)的幾起案子杖刷,更是在濱河造成了極大的恐慌,老刑警劉巖驳癌,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滑燃,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡颓鲜,警方通過(guò)查閱死者的電腦和手機(jī)表窘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)甜滨,“玉大人乐严,你說(shuō)我怎么就攤上這事∫履Γ” “怎么了昂验?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)艾扮。 經(jīng)常有香客問(wèn)我既琴,道長(zhǎng),這世上最難降的妖魔是什么泡嘴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任甫恩,我火速辦了婚禮,結(jié)果婚禮上酌予,老公的妹妹穿的比我還像新娘磺箕。我一直安慰自己奖慌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布松靡。 她就那樣靜靜地躺著简僧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪击困。 梳的紋絲不亂的頭發(fā)上涎劈,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音阅茶,去河邊找鬼蛛枚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脸哀,可吹牛的內(nèi)容都是我干的蹦浦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼撞蜂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼盲镶!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蝌诡,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤溉贿,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后浦旱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體宇色,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年颁湖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宣蠕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡甥捺,死狀恐怖抢蚀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情镰禾,我是刑警寧澤皿曲,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站吴侦,受9級(jí)特大地震影響谷饿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妈倔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绸贡。 院中可真熱鬧盯蝴,春花似錦毅哗、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至闽烙,卻和暖如春翅睛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背黑竞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工捕发, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人很魂。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓扎酷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親遏匆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子法挨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容