鴻蒙HarmonyOS ohpm-repo私倉搭建和發(fā)布HAR包(三方庫)

目錄

一思恐、ohpm-repo搭建私倉

二胀莹、發(fā)布HAR包到ohpm-repo私倉

三涩僻、發(fā)布成功后HAR包的導(dǎo)入和使用


對于個(gè)人構(gòu)建的HAR靜態(tài)共享包,可以發(fā)布到官方OpenHarmony三方庫中心倉室抽,供他人使用。如果是公司業(yè)務(wù)相關(guān)的庫惑朦,并不想被外部人員使用病梢,可以在公司內(nèi)部使用ohpm-repo搭建一個(gè)私有倉庫供內(nèi)部人員使用觅彰,一來比較安全填抬,二來集成也比較快。

一读拆、ohpm-repo搭建私倉

1、node環(huán)境安裝

ohpm-repo 依賴于 node 運(yùn)行,支持 node.js 18.x 及以上版本芥喇,請?zhí)崆鞍惭b nodejs,并完成環(huán)境變量的配置武通。Node.js安裝請參考Node.js官方網(wǎng)站。
終端輸入以下命令校驗(yàn)node安裝版本 node -v

<git> node -v
v18.15.0

2、官方下載中心下載 ohpm-repo 私倉工具包链沼。

下載 ohpm-repo 私倉工具包

3、解壓下載好的ohpm-repo 私倉工具包,獲取以下文件目錄:

ohpm-repo文件目錄

4拾氓、將上圖bin目錄的路徑配置到系統(tǒng)環(huán)境變量path中:

  • mac中打開環(huán)境變量配置文件
vim ~/.zshrc
  • 將以下代碼粘到配置文件中
export PATH="/Users/xxx/ohpm-repo-5.0.7.0/bin:$PATH"
  • 執(zhí)行命令保存配置文件
source ~/.zshrc

5、執(zhí)行以下命令孵奶,查詢版本:

<git> ohpm-repo -v                   
5.0.7

6了袁、修改私倉工具包中的配置 conf/config.yaml

路徑為:/Users/xxx/ohpm-repo-5.0.7.0/conf/config.yaml
我這里使用默認(rèn)本機(jī)數(shù)據(jù)調(diào)試粥诫,沒有做修改崭庸。參考官方:配置文件

listen: localhost:8088        # 建議修改為具體的ip:port
.
.
.

7、執(zhí)行安裝命令:

ohpm-repo install

輸出以下信息表示安裝成功:

<git> ohpm-repo install
[2024-11-15T15:16:07.410] [WARN] default - "listen" protocol is set to 'http' in "config.yaml" file, which is insecure, advise to use the more secure 'https' protocol instead.
[2024-11-15T15:16:07.425] [INFO] default - initialize encryption component successfully.
[2024-11-15T15:16:07.426] [INFO] default - initialize "file database" successfully.
[2024-11-15T15:16:07.428] [INFO] default - initialize "file storage" successfully.
[2024-11-15T15:16:07.433] [INFO] default - insert repo success: repo's id is 5cdc28ee00c1428991f25b82f48c3741.
[2024-11-15T15:16:07.434] [INFO] default - insert systemSecurity config success: support anonymous access to ohpm-repo.
[2024-11-15T15:16:07.434] [INFO] console - install successfully.
[2024-11-15T15:16:07.445] [INFO] default - set "deploy_root" environment variables successfully: "OHPM_REPO_DEPLOY_ROOT = /Users/xxx/ohpm-repo".
[2024-11-15T15:16:07.445] [INFO] console - to make the environment variables of "deploy_root" take effect, please run the refresh command: "source ~/.zshrc " or ". ~/.zshrc".

mac 會自動(dòng)設(shè)置環(huán)境變量

export OHPM_REPO_DEPLOY_ROOT=/Users/wxq/ohpm-repo

所以需要再執(zhí)行一下環(huán)境變量保存命令:

source ~/.zshrc

8执赡、執(zhí)行啟動(dòng)命令:

ohpm-repo start

輸出以下信息表示啟動(dòng)成功:

<git> ohpm-repo start  
[2024-11-15T15:18:34.073] [WARN] default - "listen" protocol is set to 'http' in "config.yaml" file, which is insecure, advise to use the more secure 'https' protocol instead.
[2024-11-15T15:18:34.074] [INFO] default - config file path: "/Users/xxx/ohpm-repo/conf/config.yaml".
[2024-11-15T15:18:34.076] [INFO] default - initialize "file database" successfully.
[2024-11-15T15:18:34.076] [INFO] default - initialize "file storage" successfully.
[2024-11-15T15:18:34.089] [INFO] console - http address - localhost:8088 - ohpm-repo/5.0.7.

此時(shí)在瀏覽器打開 http://localhost:8088/熬粗,會看到構(gòu)建好的私倉頁面:

ohpm-repo私倉頁面

ohpm-repo 首次啟動(dòng)時(shí),默認(rèn)創(chuàng)建一個(gè)管理員賬號驻呐,賬號名稱:admin,密碼:12345Qq! 含末。該賬號在首次登錄時(shí)佣盒,需要修改其密碼,請修改密碼后,重新登錄該賬號:

ohpm-repo登錄admin后主頁面

二紊搪、發(fā)布HAR包到ohpm-repo私倉

提示:發(fā)布HAR包到ohpm-repo和發(fā)布到官方OpenHarmony三方庫中心倉是一樣的邏輯。

1全景、創(chuàng)建發(fā)布組織

當(dāng)想要上傳一個(gè)含有組織(例如@wxqos/wxqcolor)的包時(shí),在ohpm-repo中需要先創(chuàng)建出該組織(例如wxqos)才能進(jìn)行上傳爸黄。和發(fā)布到官方OpenHarmony三方庫中心倉不同的是,這個(gè)組織創(chuàng)建后不用審核炕贵,直接就可以使用。具體的申請称开,請參考官方文檔:組織管理

創(chuàng)建發(fā)布組織

2钥弯、利用工具ssh-keygen生成公、私鑰总处,可通過執(zhí)行以下命令來生成公鑰和私鑰:

ssh-keygen -m PEM -t RSA -b 4096 -f ~/.ssh_ohpm/mykey 

在命令執(zhí)行過程中,會讓你輸入一個(gè)密碼睛蛛,這個(gè)密碼是后面用來上傳包用的,一定要記滓渖觥!?透浴!

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

如果本地 ~/ 路徑下沒有隱藏文件夾.ssh_ohpm场仲,需要先手動(dòng)創(chuàng)建一個(gè):cd到 ~/ 下,執(zhí)行 mkdir .ssh_ohpm渠缕。
執(zhí)行成功后會生成以下私鑰和公鑰文件:

公鑰和私鑰路徑

官方說明:

  • ~/.ssh_ohpm/mykey 為私鑰文件 mykey 的文件路徑,按照實(shí)際情況指定馍忽。指定的私鑰存儲目錄必須存在棒坏≡馑瘢【解釋:生成的mykey為私鑰,存儲到本地】
  • 追加了.pub后綴的相應(yīng)公鑰文件會存放在和私鑰相同的目錄下坐梯。【解釋:生成的mykey.pub為公鑰吵血,后面會將公鑰內(nèi)容復(fù)制到OpenHarmony三方庫中心倉官網(wǎng)中個(gè)人信息下偷溺,參考步驟3】
  • OHPM包管理器只支持加密密鑰認(rèn)證蹋辅,請?jiān)谏晒借€時(shí)輸入密碼挫掏。【解釋:就是上面說的密碼尉共,后面上傳包的時(shí)候會用】

3、登錄OpenHarmony三方庫中心倉官網(wǎng)袄友,單擊主頁右上角的個(gè)人中心殿托,新增OHPM公鑰剧蚣,將公鑰文件(mykey.pub)的內(nèi)容粘貼到公鑰輸入框中。

添加公鑰

公鑰添加成功后顯示:

公鑰添加成功

4鸠按、打開命令行工具,將對應(yīng)私鑰文件路徑配置到 .ohpmrc 文件中 key_path 字段上目尖。

執(zhí)行以下命令進(jìn)行配置:

ohpm config set key_path  ~/.ssh_ohpm/mykey

在ohpmrc文件中會填充一條內(nèi)容馒吴,表示命令執(zhí)行成功:

key_path=/Users/xxx/.ssh_ohpm/mykey
ohpmrc文件路徑

5瑟曲、登錄OpenHarmony三方庫中心倉官網(wǎng),單擊主頁右上角的個(gè)人中心测蹲,復(fù)制發(fā)布碼,獲取發(fā)布碼并配置到 .ohpmrc 文件中扣甲,可執(zhí)行如下命令:

ohpm config set publish_id your_publish_id

執(zhí)行完成后齿椅,會在步驟6中的 ohpmrc文件中會新增一條內(nèi)容:

publish_id=your_publish_id

將其中的 your_publish_id 替換成你在官網(wǎng)復(fù)制的發(fā)布碼(比如:5UABCDEFGH)即可启泣。
也可以直接執(zhí)行以下命令即可:

ohpm config set publish_id 5UABCDEFGH
復(fù)制發(fā)布碼

6涣脚、發(fā)布 HAR包

執(zhí)行 ''ohpm publish <HAR包路徑>'' 命令發(fā)布 HAR包寥茫,<HAR包路徑> 指向的文件后綴需為 .har 文件的具體路徑。例如執(zhí)行以下命令:

ohpm config set publish_registry http://localhost:8088/repos/ohpm
ohpm publish /Users/xxx/WXQHMProject/wxqcolor/build/default/outputs/default/wxqcolor.har

或在命令行中配置參數(shù) --publish_registry 使用纱耻,例如以下命令:

ohpm publish /Users/xxx/WXQHMProject/wxqcolor/build/default/outputs/default/wxqcolor.har --publish_registry http://localhost:8088/repos/ohpm

注意:其中會讓你輸入一個(gè)密碼,就是上面說的上傳包的密碼弄喘。

終端打印以下信息就表示發(fā)布完成了:

<git> ohpm publish /Users/wxq/DevEcoStudioProjects/WXQColorHM/wxqcolor/build/default/outputs/default/wxqcolor.har
registry:http://localhost:8088/repos/ohpm/

package:@wxqos/wxqcolor@1.0.0

=== Harball Contents ===
519B    BuildProfile.ets
66B     CHANGELOG.md
198B    Index.ets
587B    LICENSE
1004B   README.md
27B     ResourceTable.txt
500B    build-profile.json5
0B      consumer-rules.txt
234B    hvigorfile.ts
93.3kB  img.png
1008B   obfuscation-rules.txt
300B    oh-package.json5
593B    src/main/module.json
274B    src/main/ets/components/MainPage.ets
1.1kB   src/main/ets/components/WXQColor.ets
96B     src/main/resources/base/element/string.json
96B     src/main/resources/en_US/element/string.json
96B     src/main/resources/zh_CN/element/string.json

=== Harball Details ===
name:           @wxqos/wxqcolor
version:        1.0.0
filename:       @wxqos/wxqcolor-1.0.0.har
package size:   95.7 kB
unpacked size:  99.8 kB
shasum:         TKIo4iIPMFmZMfG2MVlUPqH0O4U=
integrity:      sha512-yEZi/38AayT9zGjJxJWJxviuB9F4F7W6O9se2Ok49CYxVGiPDRSP+1qSWjRdj9WN9N9sv3++t6pOCRJl4foqYw==
total files:    18


ohpm WARN: The HAR package to be uploaded contains source code, which may cause code asset leakage. Please abort if you do not want to procceed.
what is your passphrase of the private key: *******
+@wxqos/wxqcolor 1.0.0 

之后就可以在私倉中搜到了:

搜索發(fā)布結(jié)果

7玖喘、發(fā)布動(dòng)態(tài)共享包 HSP 包

動(dòng)態(tài)共享包 HSP 包不能直接發(fā)布在ohpm-repo內(nèi)蘑志,需要先轉(zhuǎn)化為 .tgz 包,轉(zhuǎn)換方法見:編譯HSP模塊澎媒。TGZ 包的發(fā)布流程同 HAR 一致。
執(zhí)行 ''ohpm publish <TGZ 包路徑>'' 命令發(fā)布 TGZ 包戒努,< TGZ 包路徑> 指向的文件后綴需為 .tgz 文件的具體路徑。例如執(zhí)行以下命令:

ohpm config set publish_registry <ohpm-repo私倉管理地址>/repos/ohpmohpm 
publish demo.tgz

或在命令行中配置參數(shù) --publish_registry 使用柏卤,例如以下命令:

ohpm publish demo.tgz --publish_registry <ohpm-repo私倉管理地址>/repos/ohpm

8、Web頁面發(fā)布

以上是使用命令行工具發(fā)布匀油,也可以使用Web頁面發(fā)布。在Web頁面用管理員賬號登錄ohpm-repo私倉管理地址敌蚜,在個(gè)人中心 > 倉庫管理中,點(diǎn)擊管理三方包 > 上傳三方包弛车,包的后綴名必須為 .har 或者 .tgz。

管理三方包

上傳三方包

三喻括、發(fā)布成功后HAR包的導(dǎo)入和使用

1贫奠、從ohpm-repo獲取HAR包 @wxqos/wxqcolor

可以為所有項(xiàng)目配置該私有倉唬血,例如執(zhí)行以下命令:

ohpm config set registry http://localhost:8088/repos/ohpm
ohpm install

或者在命令行中配置參數(shù) --registry 使用,例如以下命令:

ohpm install @wxqos/wxqcolor --registry http://localhost:8088/repos/ohpm

輸出以下信息拷恨,表示導(dǎo)入成功:

<git> ohpm install @wxqos/wxqcolor --registry http://localhost:8088/repos/ohpm
ohpm INFO: MetaDataFetcher fetching meta info of package '@wxqos/wxqcolor' from http://localhost:8088/repos/ohpm/
ohpm INFO: fetch meta info of package '@wxqos/wxqcolor' success http://localhost:8088/repos/ohpm/@wxqos/wxqcolor

oh-package-lock.json5 中自動(dòng)導(dǎo)入信息:

    "@wxqos/wxqcolor@1.0.0": {
      "name": "@wxqos/wxqcolor",
      "version": "1.0.0",
      "integrity": "sha512-yEZi/38AayT9zGjJxJWJxviuB9F4F7W6O9se2Ok49CYxVGiPDRSP+1qSWjRdj9WN9N9sv3++t6pOCRJl4foqYw==",
      "resolved": "http://localhost:8088/repos/ohpm/@wxqos/wxqcolor/-/@wxqos/wxqcolor-1.0.0.har",
      "registryType": "ohpm"
    }

項(xiàng)目中導(dǎo)入成功截圖:


遠(yuǎn)程導(dǎo)入成功

2腕侄、HAR包的使用

pages引用:

import { WXQColor, firstPublicFuncColor } from '@wxqos/wxqcolor'

代碼使用參考:

this.CustomText('主題-紅色 firstColor', WXQColor.firstColor)
this.CustomText('文字-重要 textMajorColor', WXQColor.textMajorColor)
this.CustomText('激勵(lì)、價(jià)格等高亮 textLightColor', WXQColor.textLightColor)
this.CustomText('文字-不可用 textUnableColor', WXQColor.textUnableColor)
this.CustomText('-------------------------', WXQColor.lineColor)
this.CustomText('自定義內(nèi)部主顏色 firstInternalFuncColor', WXQColor.firstInternalFuncColor())
this.CustomText('自定義外部主顏色 firstPublicFuncColor', firstPublicFuncColor())

使用效果截圖

官方文檔參考:ohpm-repo私倉搭建工具

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冕杠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子柒桑,更是在濱河造成了極大的恐慌噪舀,老刑警劉巖飘诗,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異昆稿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)溉潭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馋贤,“玉大人畏陕,你說我怎么就攤上這事配乓』莼伲” “怎么了犹芹?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵腰埂,是天一觀的道長蜈膨。 經(jīng)常有香客問我牺荠,道長志电,這世上最難降的妖魔是什么蛔趴? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任孝情,我火速辦了婚禮,結(jié)果婚禮上箫荡,老公的妹妹穿的比我還像新娘羔挡。我一直安慰自己,他們只是感情好绞灼,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布低矮。 她就那樣靜靜地躺著,像睡著了一般轮蜕。 火紅的嫁衣襯著肌膚如雪蝗锥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天税课,我揣著相機(jī)與錄音痊剖,去河邊找鬼。 笑死找颓,一個(gè)胖子當(dāng)著我的面吹牛叮贩,可吹牛的內(nèi)容都是我干的佛析。 我是一名探鬼主播寸莫,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼档冬,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了披坏?” 一聲冷哼從身側(cè)響起盐数,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤玫氢,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后漾峡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灰殴,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掰邢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年辣之,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狮鸭。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡歧蕉,死狀恐怖康铭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情催跪,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布荣倾,位于F島的核電站骑丸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抡笼。R本人自食惡果不足惜黄鳍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一框沟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拧晕,春花似錦梅垄、人聲如沸队丝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胧弛。三九已至侠畔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掺冠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工斥黑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锌奴,地道東北人憾股。 一個(gè)月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓服球,卻偏偏與公主長得像,于是被迫代替她去往敵國和親斩熊。 傳聞我的和親對象是個(gè)殘疾皇子粉渠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

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