This skill covers deploying Expo applications across all platforms using EAS (Expo Application Services). Consult these resources as needed: - ./references/workflows.md -- CI/CD workflows for automated deployments and PR previews
npm install -g eas-cli eas login `### Initialize EAS` npx eas-cli@latest init
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 `### Submit to Stores` # 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 testflight
# Deploy to production npx expo export -p web npx eas-cli@latest deploy --prod # Deploy PR preview npx eas-cli@latest deploy
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 credentials# .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: production
appVersionSource: "remote":# Check current versions eas build:version:get # Manually set version eas build:version:set -p ios --build-number 42 `## Monitoring` # List recent builds eas build:list # Check build status eas build:view # View submission status eas submit:list