원클릭으로
ohpm-publish
Use when user mentions "发布 SDK"、"ohpm 发布"、"打包发布"、"上传 har"、"publish"、"发版"、"release"、"发布" or "上传" in the context of this SDK
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when user mentions "发布 SDK"、"ohpm 发布"、"打包发布"、"上传 har"、"publish"、"发版"、"release"、"发布" or "上传" in the context of this SDK
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when a feature, bugfix, or refactoring step is completed and needs review, or before merging to main, or when user says "review", "审查", "帮我看看代码"
Use when receiving an ambiguous feature request, when scope is unclear, or before writing any plan
Use after verification-before-completion passes and code review is clean, to close out the development branch
Use when executing git commit, creating or naming branches, writing PR titles/descriptions, or asking about commit message format, branch naming, or version numbering in this project
Use when writing or reviewing .ets/.ts files in this project, or when seeing any, unknown, obj['key'] index access, destructuring assignment, var declarations,
Use when user asks to create a version release ticket, says "帮我建个发版任务", "建个 Jira", "创建发版单", or needs to track an SDK release in Jira
| name | ohpm-publish |
| description | Use when user mentions "发布 SDK"、"ohpm 发布"、"打包发布"、"上传 har"、"publish"、"发版"、"release"、"发布" or "上传" in the context of this SDK |
Type: Technique | Discipline: Rigid
将 GrowingIO HarmonyOS SDK 打包并发布到 ohpm 仓库。
| 模块名 | 包名 | oh-package.json5 | HAR 输出路径 |
|---|---|---|---|
| GrowingAnalytics | @growingio/analytics | GrowingAnalytics/oh-package.json5 | GrowingAnalytics/build/default/outputs/default/GrowingAnalytics-signed.har |
| GrowingToolsKit | @growingio/tools | GrowingToolsKit/oh-package.json5 | GrowingToolsKit/build/default/outputs/default/GrowingToolsKit-signed.har |
按顺序执行以下步骤,每步完成后告知用户进展。
询问用户要发布哪个(或哪些)模块:
@growingio/analytics(GrowingAnalytics)@growingio/tools(GrowingToolsKit)读取每个待发布模块的 oh-package.json5,显示当前 version 值,询问用户新版本号是多少。
确认后,直接编辑 oh-package.json5 将 version 字段更新为新版本。
读取仓库根目录的 build-profile.json5,检查 app.signingConfigs 数组。
判断条件: 数组非空,且第一个元素的 material 对象包含 storeFile、keyAlias、profile、certpath 字段。
如果签名配置缺失或不完整,停止流程,提示:
⚠️ 缺少发布签名配置,请先在 build-profile.json5 的 app.signingConfigs 中配置以下字段:
storeFile、storePassword、keyAlias、keyPassword、signAlg、profile、certpath
配置完成后重新运行发布流程。
签名配置正常则继续。
对每个待发布模块,在仓库根目录执行构建命令(告知用户正在构建,可能需要几分钟):
GrowingAnalytics:
/Applications/DevEco-Studio.app/Contents/tools/node/bin/node \
/Applications/DevEco-Studio.app/Contents/tools/hvigor/bin/hvigorw.js \
--mode module \
-p product=default \
-p module=GrowingAnalytics@default \
-p buildMode=release \
assembleHar \
--analyze=normal --parallel --incremental --daemon
GrowingToolsKit:
/Applications/DevEco-Studio.app/Contents/tools/node/bin/node \
/Applications/DevEco-Studio.app/Contents/tools/hvigor/bin/hvigorw.js \
--mode module \
-p product=default \
-p module=GrowingToolsKit@default \
-p buildMode=release \
assembleHar \
--analyze=normal --parallel --incremental --daemon
构建完成后,确认 HAR 文件存在于对应的输出路径(见上方模块信息表)。 若文件不存在,报告构建失败并展示命令输出供排查,不继续发布。
对每个构建好的模块,使用签名版本的 HAR 文件执行发布命令:
ohpm publish <HAR文件路径>
例如:
ohpm publish GrowingAnalytics/build/default/outputs/default/GrowingAnalytics-signed.har
ohpm publish GrowingToolsKit/build/default/outputs/default/GrowingToolsKit-signed.har
展示 ohpm 的输出结果,告知用户发布结果。
若提示未登录(you are not logged in),提示用户先执行 ohpm login 登录后重试。
| Excuse | Reality |
|---|---|
| "版本号不用改也能 publish" | OHPM Registry 拒绝重复版本号;必须先 bump oh-package.json5 的 version |
| "跳过签名直接 publish" | 无签名产物会被 Registry 拒收,且无法在接入方设备上验证完整性 |
| "两个模块一起并行发布快一点" | 构建产物路径和签名状态会相互干扰,必须逐个完成 |
| "发了再测也没事,出问题再回滚" | OHPM Registry 发布后无法删除/覆盖同版本号;出错代价 = 升新版本号重发 |
| "本地跑过示例 App 就算验证通过" | verification-before-completion 要求 hypium 测试全绿 + 构建 HAR 成功;不可跳过 |
| "登录失败再说,先构建" | ohpm login 是前置条件,先确认登录态再走构建避免浪费时间 |
finishing-a-development-branch(发版分支的打 tag / PR / 合并) + jira-ticket(同步更新发版单)