Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes
73
69%
Does it follow best practices?
Impact
90%
1.50xAverage score across 3 eval scenarios
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./plugins/expo/skills/expo-deployment/SKILL.mdThis skill covers deploying Expo applications across all platforms using EAS (Expo Application Services).
Consult these resources as needed:
npm install -g eas-cli
eas loginnpx eas-cli@latest initThis creates eas.json with build profiles.
# iOS App Store build
npx eas-cli@latest build -p ios --profile production
# Android Play Store build
npx eas-cli@latest build -p android --profile production
# Both platforms
npx eas-cli@latest build --profile production# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --submit
# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --submit
# Shortcut for iOS TestFlight
npx testflightDeploy web apps using EAS Hosting:
# Deploy to production
npx expo export -p web
npx eas-cli@latest deploy --prod
# Deploy PR preview
npx eas-cli@latest deployStandard eas.json for production deployments:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "your@email.com",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}npx testflight for quick TestFlight submissionseas credentialsUse EAS Workflows for CI/CD:
# .eas/workflows/release.yml
name: Release
on:
push:
branches: [main]
jobs:
build-ios:
type: build
params:
platform: ios
profile: production
submit-ios:
type: submit
needs: [build-ios]
params:
platform: ios
profile: productionSee ./reference/workflows.md for more workflow examples.
EAS manages version numbers automatically with appVersionSource: "remote":
# Check current versions
eas build:version:get
# Manually set version
eas build:version:set -p ios --build-number 42# List recent builds
eas build:list
# Check build status
eas build:view
# View submission status
eas submit:listopenai/plugins
0722921
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.