前言
年初,关于如何上传远程共享包,自己做了一份梳理,HarmonyOS开发:超详细介绍如何开源静态共享包,在结尾的时候,说下篇阐述一下共享包的私服搭建和使用,奈何时间一去不复返,给遗漏了,这两天,有人在群中发问,那么本篇文章,就把私服共享包从0到1的总结一下。
远程很好理解,把自己的共享包发布到公网,不仅自己可以用,任何一个想要使用的人都可以进行使用,而在实际的开发中,有些组件,有些工具库,有些共享包,是有隐私的,只可本公司或自己可用,那么私服的作用就来了,就是为了解决这一问题。
私服还有一个优势,那就是可以上传动态共享包,这是远程中心仓库所不能比的。
本文大纲如下:
1、ohpm-repo私服工具下载安装
2、上传一个静态共享包到私服
3、上传一个动态共享包到私服
4、私服平台页面简单介绍
5、项目里引入私服使用
6、相关总结
一、ohpm-repo私服工具下载安装
1、node环境配置
ohpm-repo 依赖于 node 运行,还好,鸿蒙项目也是需要Node的,基本上你若是有DevEco Studio,node环境都是存在的,如果没有,node环境还请自行配置,可以参考Node官方地址:nodejs.org/download/re...。
如果你已经安装了node,并配置了环境,可以执行下命令,查看是否安装成功,如果能正常输出版本号,那么证明安装成功,否则就是失败。
2、下载 ohpm-repo 私仓工具包
下载工具地址:
developer.huawei.com/consumer/cn...
下载好之后,进行解压,得到如下目录:
把bin目录的路径配置到系统环境变量path中,执行如下命令,如果能正常输出版本号,那么证明安装成功,否则就是失败。
text
ohpm-repo -v
3、配置IP
如果你是自己本机使用,则无需修改,如果你打算区域网内使用,那么需要修改ip地址,在conf目录下,打开config.yaml文件里进行修改。
text
listen: localhost:8088 # 建议修改为具体的ip:port
如果有内网环境,可以直接把工具安装到内网里即可。
4、其它配置
config.yaml文件里除了ip配置之外,还有很多基本配置,比如deploy_root,安装根目录配置,本地数据存储路径配置等等:
text
deploy_root: '' # 安装根目录 (不配置默认为 `<现有用户home目录>/ohpm-repo`),只支持绝对路径,且路径目录必须存在
db: # 必须用 yaml 数组形式写法
type: filedb
config: # 如果想修改存储路径且保留旧的数据,则需要把旧路径下的数据文件迁移至新路径
path: ./db # 本地数据存储路径,不配置默认为<deploy_root>/db;
当然了,如果你没有特殊的需求,可以选择默认配置。
5、安装启动
相关配置更新之后,我们就可以进入到bin目录下,执行安装命令:
text
ohpm-repo install
那么在deploy_root配置路径下,就会生成私服的资源文件:
ohpm-repo安装成功后,进入ohpm-repo工具包解压目录下的 bin 目录下,执行如下命令,启动 ohpm-repo:
text
ohpm-repo start
打开我们配置好的ip路径,就可以发现,我们的服务已经起来了,之后我们就可以进行上传和下载共享包使用了,首次登录,账号名称:admin,密码:12345Qq! 。
登录之后就可以进行修改。
登录之后,可以进行很多管理,比如账号的管理,仓库管理等等。
二、上传一个静态共享包到私服
通过以上的流程,把环境搭建完毕了,我们就可以把共享包上传到这里,除了管理员上传之外,他人也可以进行注册上传。
上传分为两种方式,一种是可视化的上传,也就是在平台上直接上传,还有一种就是通过 ohpm 命令行工具。
1、基础配置
配置秘钥
利用工具 ssh-keygen 生成公、私钥,可执行以下命令,<your_key_path>是配置公钥和私钥的名称和存放路径,仅包含名称时,以当前命令行工作路径为存储目录。
text
ssh-keygen -m PEM -t RSA -b 4096 -f <your_key_path>
执行成功之后,会生成两个文件,一个公钥,一个私钥。
配置公钥
登录 ohpm-repo 私仓管理地址,找到认证管理,把.pub文件里的内容粘贴到这里。
配置私钥
打开命令行工具,执行如下命令设置私钥路径。
text
ohpm config set key_path <your_key_path>
执行命令,如果提示'ohpm' 不是内部或外部命令错误,那就是没有配置环境变量,找到DevEco Studio安装目录,找到tools\ohpm\bin目录,配置到环境变量中,重新打开命令工具,执行ohpm - v,如果能正常显示版本号,则环境配置成功。
记得继续执行配置私钥命令。
配置发布码
登录 ohpm-repo 私仓管理地址,单击主页右上角的个人中心,复制发布码。
将发布码配置到 .ohpmrc 文件中,可执行如下命令:
text
ohpm config set publish_id <your_publish_id>
2、平台上直接上传
进入到仓库管理后台,点击管理三方包:
点击上传三方包:
选择上传:
选择自己开发好的静态共享包也就是.har文件进行上传即可,如何开发一个共享包,之前的文章都阐述了,这里不再赘述,切记,组织名字必须和平台的组织名一致,上传成功后,就可以在平台上查看了。
3、ohpm 命令行工具
命令方式上传也是非常的简单,第一次上传需要两步,后续一步就可以。
设置私仓管理地址
text
ohpm config set publish_registry <ohpm-repo私仓管理地址>/repos/ohpm
执行发布
text
ohpm publish demo.har
输入密码之后,出现你的版本号,即发布成功!
私服平台,就可以查看到了。
三、上传一个动态共享包到私服
动态共享包 HSP 包不能直接发布在ohpm-repo内,需要先转化为 .tgz 包,点击工具栏图标将编译模式切换成release模式。
选中动态共享包模块的根目录,点击Build > Make Module ${libraryName} 启动构建。
在build目录下,就可以查看生成的tgz包。
执行发布命令:
如果你已经设置私仓管理地址,直接走发布即可。
text
ohpm config set publish_registry <ohpm-repo私仓管理地址>/repos/ohpm
ohpm publish demo.tgz
四、私服平台页面简单介绍
私服平台很是简单,都是可视化操作,首页就是上传的共享包列表,这里可以执行搜索,点击查看详情。
详情页面就是文档介绍页面,这里主要是我们研发的共享包使用方式,所以,再上传一个共享包的时候,一定要文档清晰。
用户管理后台,这里也没什么好说的,用户管理就是,可以添加和删除管理员,仓库管理就是管理我们上传的共享包,认证管理就是公钥配置,组织管理就是,我们上传的组平台,操作日志,会记录我们上传的信息,比如成功或者失败。
五、项目里引入私服
需要配置该私有仓:
text
ohpm config set registry <配置的ohpm-repo私仓服务地址>/repos/ohpm
配置好之后就可以下载使用了:
方式一:在Terminal窗口中,执行如下命令安装三方包,DevEco Studio会自动在工程的oh-package.json5中自动添加三方包依赖。
建议:在使用的模块路径下进行执行命令。
text
ohpm install 你上传的包
方式二:在工程的oh-package.json5中设置三方包依赖,配置示例如下:
text
"dependencies": { "上传的包": "^版本号"}
比如,我用的第二种方式:
安装之后,就会在使用的Module中,生成对应的源码文件:
然后就可以愉快的使用了~
六、相关总结
第一点:需要注意的是,自己开发的静态包也好,动态包也好,相关组织一定要和平台的保持一致:
平台组织:
自己的共享包组织:
第二点:我们在私服使用的时候,很多场景下,也会用到远程仓库的共享包,为了地址不发生错误,其实,我们可以配置两个地址:
text
ohpm config set registry https://repo.harmonyos.com/ohpm,<配置的ohpm-repo私仓服务地址>/repos/ohpm