React Native Deployment
Priority: P2 (MAINTENANCE)
Over-The-Air (OTA) Updates
CodePush (Microsoft)
- •
JS-Only Updates: Update JS bundle without app store review.
- •
Staging/Production: Use separate deployments.
- •
Install:
npm install react-native-code-push - •
Limitations: Cannot update native code (Obj-C, Java, Swift, Kotlin).
- •
Expo Projects: Built-in OTA updates via channels (dev, staging, prod).
- •
Install:
expo install expo-updates
Build Configurations
Expo (EAS Build)
json
{
"build": {
"development": { "developmentClient": true },
"preview": { "distribution": "internal" },
"production": { "autoIncrement": true }
}
}
bash
eas build --platform ios --profile production
React Native CLI
- •Android: Use
productFlavorsinbuild.gradle(dev, staging, prod). - •iOS: Use Xcode schemes.
- •Fastlane: Automate builds and uploads (
fastlane ios release).
Environment Management
- •react-native-config:
.envfiles for API URLs, keys. - •Separate Configs:
.env.dev,.env.staging,.env.production.
Anti-Patterns
- •No OTA for Native Changes: Requires store release.
- •No Secrets in Code: Use
.env& CI secrets. - •No Manual Builds: Automate with CI/CD.
Reference & Examples
See references/codepush-setup.md.
Related Topics
common/git-collaboration | security