Skip to main content

Deploy Your Expo App

This guide will walk you through setting up EAS (Expo Application Services) for deploying your Expo app to app stores and over-the-air updates.

Prerequisites​

Before you begin, make sure you have:

1. Login to Expo​

Authenticate with your Expo account using the yarn command:

yarn eas:login

This command will:

  • Install EAS CLI if not already installed
  • Authenticate with your Expo account
  • Securely store your credentials for future use

2. Initialize EAS in Your Project​

Set up EAS for your project:

yarn eas:init

This command will:

  • Create a new project on your Expo account if one does not already exist, and link it
  • If the project already exists, link it to your Expo account

You can see your project ID in your app.json file at extra.eas.projectId

3. Configure EAS Build​

Configure your build settings and credentials:

yarn build:configure

This command will:

  • Create an eas.json configuration file
  • Set up build profiles (development, preview, production)
  • Configure distribution settings for each platform

4. Build Your App​

Now you can build your app for different platforms and environments:

Note: if you wish to run your app in a physical device, your device must be connected to the same WIFI

Android Builds​

Development Build​

yarn build:android:dev

This command will:

  • Create a development build for Android
  • Include debugging tools and development features like Hot reloading
  • Generate an APK for internal testing
  • Use development signing certificates

Preview Build​

yarn build:android:preview

This command will:

  • Create a preview build for internal testing and QA
  • Generate an APK for easy sharing with testers
  • Use preview signing certificates
  • Optimize for testing without development overhead
  • Include production-like performance characteristics

Production Build​

yarn build:android:prod

This command will:

  • Create a production-ready build for Google Play Store
  • Generate an AAB (Android App Bundle) file
  • Use production signing certificates
  • Optimize for performance and size
  • Remove all debugging tools and development features

iOS Builds​

Development Build​

yarn build:ios:dev

This command will:

  • Create a development build for iOS
  • Include debugging tools and development features like Hot reloading
  • Generate an IPA for internal testing
  • Use development provisioning profiles

Preview Build​

yarn build:ios:preview

This command will:

  • Create a preview build for TestFlight and internal testing
  • Generate an IPA ready for TestFlight upload
  • Use preview provisioning profiles
  • Optimize for testing without development overhead
  • Include production-like performance characteristics

Production Build​

yarn build:ios:prod

This command will:

  • Create a production-ready build for App Store
  • Generate an IPA file for App Store submission
  • Use production provisioning profiles and certificates
  • Optimize for performance and size
  • Remove all debugging tools and development features

5. Submit to App Stores​

After building your app, you can submit it to the respective app stores:

Submit to Google Play Store​

yarn submit:android

This command will:

  • Upload your production AAB file to Google Play Console
  • Submit the app for review (if configured)
  • Use your configured Google Play service account credentials
  • Automate the submission process to Google Play Console

Submit to Apple App Store​

yarn submit:ios

This command will:

  • Upload your production IPA file to App Store Connect
  • Submit the app for review (if configured)
  • Use your configured Apple Developer credentials
  • Automate the submission process to App Store Connect

Quick Reference​

Complete Workflow​

Here's the complete yarn command workflow for EAS deployment:

# 1. Login to Expo
yarn eas:login

# 2. Initialize EAS in your project
yarn eas:init

# 3. Configure build settings and credentials
yarn build:configure

# 4. Build for Android
yarn build:android:dev # Development build
yarn build:android:preview # Preview build
yarn build:android:prod # Production build

# 5. Build for iOS
yarn build:ios:dev # Development build
yarn build:ios:preview # Preview build
yarn build:ios:prod # Production build

# 6. Submit to app stores
yarn submit:android # Submit to Google Play Store
yarn submit:ios # Submit to Apple App Store

Resources​