SuperAPI AI 工具集

release-recovery

部署与运维

查看项目

更新于 10-16 00:31

技能介绍

用途:修复失败的发布流程留下的失步状态——包已发布到 npm,但仓库仍是旧版本。npm 发布不可逆,因此以 npm 为准,恢复方向始终是让仓库向前对齐 registry。默认操作为只读,未获用户明确批准前不创建分支、提交或 PR。

主要能力:诊断各公开包状态(in-sync、npm-ahead、repo-ahead、unpublished),仅 npm-ahead 需要恢复;用 beachball 重新生成版本号与变更日志;生成 type: none 变更文件以通过 beachball check;提交并创建恢复 PR。范围仅限版本号与变更日志,不重建发布 git 标签(恢复提交并非发布构建所用提交,标签会指向错误历史,且单次发布涉及数十个包)。

使用方式:先确认工具与起始 ref(gh auth status、git remote -v、git status --porcelain),工作区有未提交改动时停止。拉取发布分支后运行只读同步检查:node -r ./scripts/ts-node/src/register ./scripts/executors/src/check-release-sync.ts --remote "$REMOTE" --ref "$REMOTE/master"。展示计划并获批准后,从发布分支建分支,yarn install,按对应配置执行 yarn beachball bump --config scripts/beachball/src/<release>.config.js,再运行依赖修复与 yarn install --mode=update-lockfile,重新校验同步,生成 type: none 变更文件,显式 git add -u 与 git add change/ 后提交并创建 PR,最后切回起始 ref 并 yarn install。

适用场景:发布流水线在 Publishing 步骤后失败(常见为 git push 403/鉴权失败),或刻意跳过 git push 的强制发布。

限制:不重建标签;不手动改版本号强行匹配;不直接提交 master;不绕过 PR 校验;不使用 git add -A;不假设 origin 指向 microsoft/fluentui;不基于过期检出做诊断;不请求或打印令牌。具体配置、命令与流程细节以资料为准,其余信息暂未提供。