
App Center CLI CodePush教程6步实现React Native热更新与分阶段灰度【免费下载链接】appcenter-cliCommand-line Interface (CLI) for Visual Studio App Center项目地址: https://gitcode.com/gh_mirrors/ap/appcenter-cliApp Center CLI 是 Visual Studio App Center 提供的官方命令行工具其中的 CodePush 模块可以让你在不发版的情况下通过热更新Hot Update方式向线上用户推送 JS 代码修复与迭代。本教程带你用 6 步完成 React Native 应用的热更新发布并实现安全的分阶段灰度Rollout策略从 1% 小流量验证一路放量到 100% 全量用户。第1步安装 App Center CLI 并完成登录首先安装 CLI 工具需要 Node.js 18 及以上版本见 package.json 中的engine声明npm install -g appcenter-cli然后执行登录交互式环境会自动打开浏览器授权CI 场景也可以用--token直接传入令牌appcenter login登录成功后令牌会保存到本地安全存储中macOS 钥匙串 / Windows 凭据管理器 / 文件令牌库实现逻辑位于 src/commands/login.ts 与 src/util/token-store/ 目录。第2步创建 Staging 与 Production 部署通道CodePush 的发布以部署Deployment为单位管理。灰度发布的关键就是建立测试通道与生产通道appcenter codepush deployment add Staging appcenter codepush deployment add Production创建成功后CLI 会打印部署名称和对应的 Deployment Key注意保存它后续接入客户端 SDK 时需要用到。命令实现参考 src/commands/codepush/deployment/add.ts。 小技巧不指定部署名发布时默认目标是Staging见 codepush-release-command-base.ts这正好符合先测试、后上线的灰度工作流。第3步一键发布 React Native 热更新到 Staging进入你的 React Native 项目根目录执行发布命令appcenter codepush release-react --deployment-name Staging --description 修复首页崩溃这一条命令背后做了很多事源码见 src/commands/codepush/release-react.ts自动检测当前目录是否为 React Native 项目并校验 Staging 部署是否存在自动执行 JS Bundle 打包iOS 默认main.jsbundleAndroid 默认index.android.bundle如果检测到 Hermes 已启用Android 的build.gradle或 iOS 的Podfile会自动完成 JS 到字节码的编译自动从Info.plist或build.gradle读取目标二进制版本target-binary-version确保热更新只推给匹配版本的原生包自动压缩并上传更新包创建正式 Release。整个过程无需手动打包也无需手写版本号。第4步查看发布历史确认灰度比例发布完成后用 history 命令确认更新已生效appcenter codepush deployment history Staging输出中会展示每个 Release 的标签、描述、激活状态与活跃用户数如果设置过灰度比例还会以绿色高亮显示Rollout: x%见 src/commands/codepush/deployment/history.ts。第5步promote 分阶段灰度从小流量到全量放量内部测试通过后将 Staging 的最新 Release原样提升到 Production并用--rollout指定灰度百分比appcenter codepush promote -s Staging -d Production --rollout 25随后观察线上指标崩溃率、业务埋点等逐步放量appcenter codepush promote -s Staging -d Production --rollout 50 appcenter codepush promote -s Staging -d Production --rollout 100灰度的核心规则源码见 src/commands/codepush/promote.ts 与 validation-utils.ts--rollout取值必须是1~100 之间的整数超出范围会直接报错可以用--label指定要提升的历史版本默认取源部署的最新 Release如果新版本内容与当前线上完全相同默认会报错可加--disable-duplicate-release-error将其降级为警告方便 CI 流水线幂等执行。第6步出问题怎么办一条命令紧急回滚热更新最大的价值就是快速修复与快速止血。一旦灰度期间发现线上异常立即回滚到上一个稳定版本appcenter codepush rollback Production执行前 CLI 会弹出确认提示防止误操作如需回滚到指定标签加上--target-release参数即可实现见 src/commands/codepush/rollback.ts。小结CodePush 热更新灰度工作流清单步骤命令作用1️⃣ 登录appcenter login授权 CLI 访问 App Center2️⃣ 建通道codepush deployment add Staging/Production分离测试与生产流量3️⃣ 发更新codepush release-react -d Staging自动打包并热更新到测试通道4️⃣ 看历史codepush deployment history确认版本与 Rollout 状态5️⃣ 灰度codepush promote -s Staging -d Production -r 25分阶段放量至 100%6️⃣ 回滚codepush rollback Production紧急回退到稳定版本掌握这套流程后你的 React Native 应用就具备了当天上线、当天验证、随时回滚的热更新能力。更多参数细节可以查看appcenter codepush release-react --help或深入阅读 src/commands/codepush/ 目录下的命令源码。【免费下载链接】appcenter-cliCommand-line Interface (CLI) for Visual Studio App Center项目地址: https://gitcode.com/gh_mirrors/ap/appcenter-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考