Learning & TutorialsTesting & Deployment
Shipping & Updates
CI/CD with EAS Build and OTA Updates
Shipping Your App
We use EAS (Expo Application Services) for building and deploying.
1. EAS Build (The Binary)
EAS Build compiles your native Android (.apk/.aab) and iOS (.ipa) binaries in the cloud.
Key Config: eas.json
Json
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"production": {
"channel": "production"
}
}
}Commands
- Build Dev Client:
eas build --profile development --platform ios - Build for Store:
eas build --profile production --platform all
2. EAS Update (OTA)
"Over The Air" updates allow you to fix bugs without going through the App Store review process.
How it works
- You change JS/TS code.
- You run
eas update. - Users download the new bundle silently on next launch.
Important Rules
[!WARNING] Native Changes: If you install a new native library (e.g.,
cameraormaps), OTA updates will CRASH the app for users who have the old binary. You MUST build a new binary (eas build) for native changes.
Commands
- Preview:
eas update --branch preview - Production:
eas update --branch production
3. Versioning Strategy
versioninapp.json= The Native Binary Version (e.g., 1.0.0). Change this for Store submissions.runtimeVersioninapp.json= The Policy for OTA. Usually matchessdkVersionorappVersion.