EAS Deployment Guide

Step by step guide to build and deploy Expo apps using EAS (Expo Application Services)

EAS Deployment Guide

EAS Deployment Guide

Expo Application Services (EAS) is a set of cloud services designed specifically for Expo and React Native apps. This guide will walk you through the process of building and deploying your Expo app using EAS.

Prerequisites

Before you begin, make sure you have:

  • Node.js (LTS version recommended)
  • Expo CLI installed globally: npm install -g expo-cli
  • An Expo account (create one at expo.dev)
  • Expo project initialized

Step 1: Install EAS CLI

First, install the EAS CLI:

npm install -g eas-cli

Step 2: Log in to your Expo account

eas login

Step 3: Configure your project

Initialize EAS in your project:

eas build:configure

This will create an eas.json file in your project root with default build profiles.

Step 4: Customize your build profiles

Edit the eas.json file to customize your build profiles. Here's an example configuration:

{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
      "autoIncrement": true
    }
  }
}

Step 5: Build your app

For Android

eas build --platform android --profile production

For iOS

eas build --platform ios --profile production

For both platforms

eas build --platform all --profile production

Step 6: Deploy your app with EAS Submit

Once your build is complete, you can submit it to the app stores:

For Android (Google Play Store)

eas submit --platform android --latest

For iOS (Apple App Store)

eas submit --platform ios --latest

Step 7: Update your app with EAS Update

EAS Update allows you to push updates to your app without going through the app stores:

  1. Configure EAS Update in your app:
eas update:configure
  1. Make changes to your app

  2. Create and publish an update:

eas update --branch production --message "Your update message"

Common EAS Commands

View build history

eas build:list

Cancel a build

eas build:cancel

View logs of a build

eas build:logs

Create a development build

eas build --profile development --platform ios

Create an internal distribution build

eas build --profile preview --platform all

Troubleshooting

  • Build fails: Check the build logs with eas build:logs
  • Submission fails: Ensure your app meets the store guidelines
  • Update not working: Verify your app is configured correctly for EAS Update

For more detailed information, visit the EAS documentation.