Create EAS Profiles
Start with four profiles: development, preview, e2e-test, and production.
{
"cli": {
"version": ">= 16.0.0",
"appVersionSource": "local"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal",
"channel": "preview",
"android": { "buildType": "apk" }
},
"e2e-test": {
"distribution": "internal",
"channel": "preview"
},
"production": {
"channel": "production",
"autoIncrement": true,
"android": { "buildType": "app-bundle" }
}
},
"submit": {
"internal": {
"android": { "track": "internal" }
},
"production": {
"android": { "track": "production" },
"ios": {}
}
}
}
Profile Meanings
| Profile | Purpose |
|---|---|
development | Custom dev client for native debugging |
preview | Installable internal build for QA and stakeholders |
e2e-test | Stable target for Maestro or other built-app tests |
production | Store-bound binary with production channel |
Add Project-Specific Values
Before the first release, decide:
- Android package name.
- iOS bundle identifier.
- Version and build number strategy.
- Runtime version policy.
- Credential ownership.
- Google Play and Apple account access.
- Which profile maps to which update channel.
Warning: Keep service account key paths and credential files out of source control. If a profile references a local key file, ensure it is gitignored and documented in private setup notes.