发布工作流
本文档概述了创建新应用版本、生成构建以及将它们部署到生产或内部测试的步骤。
1. 递增版本
在创建生产构建之前,你必须更新版本号。这在 app.json 或 app.config.ts 中配置:
json
{
"expo": {
"version": "1.0.0",
"ios": {
"buildNumber": "1"
},
"android": {
"versionCode": 1
}
}
}version: 这将显示在 App Store/Play Store 页面上。ios.buildNumber: 这用于 App Store Connect 上的内部构建号。对于提交的每次新构建,这必须递增为字符串。android.versionCode: Android 内部版本号。每次提交(即使这只是一个修复)也必须递增,并作为整数。
2. 推送并合并代码
在运行生产构建之前,确保你的本地代码是最新的,所有想要随此次发布的特性或修复都已经合并到了你的 main 分支。
bash
git checkout main
git pull origin main3. 进行 EAS Production 构建
这里我们通过 EAS 启动云构建。使用相关的生产 Profile:
bash
# 所有平台的生产构建(iOS & Android)
eas build --profile production --platform all一旦开始排队,命令行会输出可以跟随的链接(Expo 控制台仪表板)。此过程对 iOS 大约需要 15-20 分钟,而对 Android 大约需要 10 分钟。
4. 自动提交到商店 (Auto-Submit)
如果已在你的项目中配置并且你已从 EAS 命令行批准了流程,则可以将你的构建在成功完成时直接发送到 Apple 和 Google 商店:
bash
# 将最近可用的生产构建自动提交
eas submit --platform all对于首次部署的 Android 应用或最初的 iOS 集成,你需要手动干预 App Store Connect 和 Google Play Developer Console,而不是使用 EAS API 取代第一步。
5. 推送和发布 (Review)
- 对于 iOS: 去到 App Store Connect。新的构建会在“TestFlight”下进行处理。处理完后,分配你内部的用户以测试,或是附带出口要求等通过 TestFlight 进行外部共享。
- 对于 Android: 去到 Google Play Console,创建或打开一个新的内部测试或是封闭测试版本(可查看 Android 内部测试指南)。添加你的应用捆绑包 (
.aab) 并进行推送。
6. 无线 OTA (OTA) 更新
不是所有修复都需要你完全经历构建和商店审核循环。如果你只更改了 JavaScript/TypeScript 文件,或者一些基础的图片资源而不是原生配置/代码,你可以通过推送 OTA 更新来快速生效最新修复:
bash
# EAS Update 推送快速更新
eas update --branch production --message "修复闪退问题"此热修复即会在你的应用启动时获取应用端更新(取决于你的默认 expo-updates 策略)。