Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Official Expo AI agent skill for deploying Expo apps to App Store and Google Play.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
SKILL.md
1---2name: expo-deployment3description: Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes4version: 1.0.05license: MIT6---78# Deployment910This skill covers deploying Expo applications across all platforms using EAS (Expo Application Services).1112## References1314Consult these resources as needed:1516- ./references/workflows.md -- CI/CD workflows for automated deployments and PR previews17- ./references/testflight.md -- Submitting iOS builds to TestFlight for beta testing18- ./references/app-store-metadata.md -- Managing App Store metadata and ASO optimization19- ./references/play-store.md -- Submitting Android builds to Google Play Store20- ./references/ios-app-store.md -- iOS App Store submission and review process2122## Quick Start2324### Install EAS CLI2526```bash27npm install -g eas-cli28eas login29```3031### Initialize EAS3233```bash34npx eas-cli@latest init35```3637This creates `eas.json` with build profiles.3839## Build Commands4041### Production Builds4243```bash44# iOS App Store build45npx eas-cli@latest build -p ios --profile production4647# Android Play Store build48npx eas-cli@latest build -p android --profile production4950# Both platforms51npx eas-cli@latest build --profile production52```5354### Submit to Stores5556```bash57# iOS: Build and submit to App Store Connect58npx eas-cli@latest build -p ios --profile production --submit5960# Android: Build and submit to Play Store61npx eas-cli@latest build -p android --profile production --submit6263# Shortcut for iOS TestFlight64npx testflight65```6667## Web Deployment6869Deploy web apps using EAS Hosting:7071```bash72# Deploy to production73npx expo export -p web74npx eas-cli@latest deploy --prod7576# Deploy PR preview77npx eas-cli@latest deploy78```7980## EAS Configuration8182Standard `eas.json` for production deployments:8384```json85{86"cli": {87"version": ">= 16.0.1",88"appVersionSource": "remote"89},90"build": {91"production": {92"autoIncrement": true,93"ios": {94"resourceClass": "m-medium"95}96},97"development": {98"developmentClient": true,99"distribution": "internal"100}101},102"submit": {103"production": {104"ios": {105"appleId": "[email protected]",106"ascAppId": "1234567890"107},108"android": {109"serviceAccountKeyPath": "./google-service-account.json",110"track": "internal"111}112}113}114}115```116117## Platform-Specific Guides118119### iOS120121- Use `npx testflight` for quick TestFlight submissions122- Configure Apple credentials via `eas credentials`123- See ./reference/testflight.md for credential setup124- See ./reference/ios-app-store.md for App Store submission125126### Android127128- Set up Google Play Console service account129- Configure tracks: internal → closed → open → production130- See ./reference/play-store.md for detailed setup131132### Web133134- EAS Hosting provides preview URLs for PRs135- Production deploys to your custom domain136- See ./reference/workflows.md for CI/CD automation137138## Automated Deployments139140Use EAS Workflows for CI/CD:141142```yaml143# .eas/workflows/release.yml144name: Release145146on:147push:148branches: [main]149150jobs:151build-ios:152type: build153params:154platform: ios155profile: production156157submit-ios:158type: submit159needs: [build-ios]160params:161platform: ios162profile: production163```164165See ./reference/workflows.md for more workflow examples.166167## Version Management168169EAS manages version numbers automatically with `appVersionSource: "remote"`:170171```bash172# Check current versions173eas build:version:get174175# Manually set version176eas build:version:set -p ios --build-number 42177```178179## Monitoring180181```bash182# List recent builds183eas build:list184185# Check build status186eas build:view187188# View submission status189eas submit:list190```191