在组件化开发中,私仓的作用不言而喻。例如在鸿蒙项目中如果不想本地引用har包、hsp包,就要发布到私仓中引用使用,如果发布到华为公仓中使用是不安全的。本篇文章分享下如何在鸿蒙HarmonyOS NEXT下搭建属于自己的私仓,以及如何使用。
私仓安装和启动
ohpm-repo 是一个搭建轻量级的ohpm私仓服务的工具。支持单点部署和多实例部署。单点部署:ohpm-repo 仅部署在一台机器上使用。多实例部署:ohpm-repo 会部署到多台机器中,具有相同的配置内容,并且共享数据存储空间。
如何安装
ohpm-repo 依赖于 node 运行,支持 node.js 18.x 及以上版本,请提前安装 nodejs,并完成环境变量的配置。Node.js安装请参考 Node.js官方网站。
1.下载
ohpm-repo点击下载
获取私仓工具包,目前最新版本是ohpm-repo 5.0.7
2.配置
在启动 ohpm-repo 前还需要先按照如下方式完成配置修改: 进入 ohpm-repo 解压目录的 conf 目录内,打开 config.yaml 配置文件。
检查 listen 配置,默认配置为 localhost:8088 ,表示仅支持监听本机地址;如果希望其他机器通过ip/域名访问,则建议修改 listen 配置为ohpm-repo部署机器的ip:
listen: <部署ohpm-repo机器的ip>:8088
3.检查
检查deploy_root配置:如果不配置,会存储在默认地址中。该路径不允许配置为ohpm-repo解压根目录。
检查db和store配置,db是元数据存储的配置项,store是文件存储的配置项。db支持fileDB本地存储和mysql数据库存储,store支持local storage本地存储,sftp storage存储和custom storage 自定义插件存储。db和store不能随意搭配,需要符合表1的匹配规范。配置文件默认db使用fileDB本地存储,store使用local storage本地存储。
db:元数据存储 | 与db所适配的store类型 |
---|---|
fileDB | local storage |
mysql | local storage,sftp storage, custom storage |
检查是否配置了 store.config.server,用于指定ohpm-repo仓库内容的下载地址、不配置取默认值,详情见:server: 仓库内容的下载地址。如果listen的host为0.0.0.0,且本机存在多个网络接口,那么该值必须配置,建议手动修改 host 为本机指定的 ip/域名,例如 listen 为 0.0.0.0:8088,故 server 需配置为 http://<指定部署机器的ip/域名>:8088。
4.安装
进入ohpm-repo工具包解压目录中的 bin 目录下,执行安装命令:
ohpm-repo install
image.png
安装成功后,必须根据给出的提示信息刷新部署目录的环境变量,针对 Window 系统和 Linux/Mac 系统,有不同处理方式:
Window 系统: 关闭当前窗口,重新开启一个窗口。
Linux 系统或 Mac 系统: 在命令行中执行刷新命令:当shell为bash时执行source ~/.bashrc 或者 . ~/.bashrc ;当shell为zsh时执行source ~/.zshrc 或者 . ~/.zshrc 。
如何启动
ohpm-repo start
image.png
说明
ohpm-repo 首次启动时,默认创建一个管理员账号,账号名称:admin,密码:12345Qq! 。该账号在首次登录时,需要修改其密码,请修改密码后,重新登录该账号。
从ohpm-repo获取三方库
注册私服地址
ohpm config set registry <配置的ohpm-repo私仓服务地址>/repos/ohpm
ohpm install
image.png
注意:仓库地址需要把华为公仓地址添加上
将三方库发布到 ohpm-repo
使用命令行工具发布
1、生成公、私钥
利用工具 ssh-keygen 生成公、私钥,可执行以下命令:
ssh-keygen -m PEM -t RSA -b 4096 -f <your_key_path>
注意:OHPM 包管理器只支持加密密钥认证,请在生成公私钥时输入密码。
2、私仓添加.pub内容
登录 ohpm-repo 私仓管理地址,单击主页右上角的个人中心,新增公钥,将公钥文件(<your_key_path>.pub)的内容粘贴到公钥输入框中。
image.png
3、设置私钥路径
打开命令行工具,执行如下命令设置私钥路径。
ohpm config set key_path <your_key_path>
4、配置发布码到 .ohpmrc
登录 ohpm-repo 私仓管理地址,单击主页右上角的个人中心,复制发布码。
将发布码配置到 .ohpmrc 文件中,可执行如下命令:
image.png
5、发布har或者hsp
静态共享包HAR包
ohpm publish demo.har
动态共享包 HSP 包
动态共享包 HSP 包不能直接发布在ohpm-repo内,需要先转化为 .tgz 包。
ohpm publish demo.tgz
注意:如果本地.ohpmrc文件没有设置_auth,每次ohpm publish需要输出一次密码。
ohpmrc配置详细说明
以Mac为例,简单粗暴创建并打开本地隐藏文件.ohpmrc文件,添加以下信息
registry=https://ohpm.openharmony.cn/ohpm,私服地址
strict_ssl=true
publish_registry=私服地址
log_level=info
fetch_timeout=60000
max_concurrent=50
retry_times=1
retry_interval=1000
publish_id=F8C2BAB936
key_path=/Users/fyg/.ssh_ohpm/mykey
//私服地址/:_auth=_auth值
使用Web页面发布
在Web页面用管理员账号登录ohpm-repo私仓管理地址,在个人中心 > 仓库管理中,点击管理三方包 > 上传三方包,包的后缀名必须为 .har 或者 .tgz。
image.png
image.png
关注公众号:移动端开发的那些事
网友评论