Creating your first build - Expo Documentation
In this guide, you'll learn how to build a ready-to-submit binary for the Apple App Store and Google Play Store using EAS Build. For a simple app, you should expect to have kicked off your builds for Android and iOS within a few minutes.
EAS Build is a brand new and rapidly evolving service. It can't do everything yet, so before you set out to create a build for your project we recommend consulting the limitations page and the other prequisites below.
Don't have a project yet? No problem: it's quick and easy to create a "Hello world" app that you can use with this guide.
Install Expo CLI by running
npm install -g expo-cli
(oryarn global add expo-cli
).Run
expo init PROJECT_NAME
(let's assumePROJECT_NAME
isabcd
) and choose a bare workflow template (eitherminimal
orminimal (TypeScript)
).EAS Build also works well with projects created by
npx react-native
,create-react-native-app
,ignite-cli
, and other project bootstrapping tools.
Support for managed workflow projects is rapidly improving, but not yet ready for production, so we recommend using it with bare React Native projects for best results right now.
While EAS Build is in preview, it is available only to EAS Priority Plan subscribers. Once it graduates from preview it will become more broadly available. The first month is free, and you can cancel any time.
If you are going to use EAS Build to create release builds for the Apple App Store, this requires access to an account with a \$99 USD Apple Developer Program membership.
Install EAS CLI by running npm install -g eas-cli
(or yarn global add eas-cli
). It will notify you when a new version is available (we encourage you to always stay up to date with the latest version).
If you are already signed in through Expo CLI, you don't need to do anything. Otherwise, log in with eas login
. You can check whether you're logged in by running eas whoami
.
Run eas build:configure
to configure your iOS and Android projects to run on EAS Build. If you'd like to learn more about what happens behind the scenes, you can read the build configuration process reference.
Additional configuration may be required for some scenarios:
Does your app code depend on environment variables? Add them to your build configuration.
Is your project inside of a monorepo? Follow these instructions.
Do you use private npm packages? Add your npm token.
Run
eas build --platform android
to build for Android.Run
eas build --platform ios
to build for iOS.Alternatively, you can run
eas build --platform all
to build for Android and iOS at the same time.
Before the build can start, we'll need to generate or provide app signing credentials. If you have no experience with this, don't worry
—
no knowledge is required, you will be guided through the process and EAS CLI will do the heavy lifting.
If you have not yet generated a keystore for your app, you can let EAS CLI take care of that for you by selecting
Generate new keystore
, and then you're done. The keystore will be stored securely on EAS servers.If you have previously built your app in the managed workflow with
expo build:android
(using the sameslug
), then the same credentials will be used here.If you would rather manually generate your keystore, please see the manual Android credentials guide for more information.
If you have not generated a provisioning profile and/or distribution certificate yet, you can let EAS CLI take care of that for you by signing into your Apple Developer Program account and following the prompts.
If you have already built your app in the managed workflow with
expo build:ios
(using the sameslug
), then the same credentials will be used here.If you would rather manually generate your credentials, refer to the manual iOS credentials guide for more information.
By default, the eas build
command will wait for your build to complete. However, if you interrupt this command and monitor the progress of your builds by either visiting the EAS Build dashboard or running the eas build:show
command.
Ship your app! Learn how to submit your app to app stores with EAS Submit.
Want to distribute your apps to internal testers? Learn about internal distribution.
If you want to learn more about how of Android and iOS build jobs are performed, check out our Android build process and iOS build process pages.
Learn about the hardware infrastructure that the builds are run on and the software environment that they execute in on the build server infrastructure reference
Learn about caching dependencies, environment variables, and limitations of EAS Build.
Last updated