Course contentsShow
← React Native
Lesson 102 of 1,5552. Project Scaffolding with ExpoFree lesson

Artifact Management and Distribution

Directly push binary builds to internal distribution platforms for quality assurance.

Distributing Your App for Quality Assurance

In this lesson, you will learn how to push your binary builds directly to internal distribution platforms to streamline your quality assurance process.

Once you have successfully performed an eas build, you end up with a binary artifact—an .ipa file for iOS or an .apk / .aab file for Android. While these files are ready to run, manually emailing them to your testers is inefficient and error-prone. Instead, we use distribution platforms like TestFlight (iOS) or Google Play Internal Testing (Android) to act as the "middleman" for our artifacts.

The Distribution Workflow

When you configure your project for distribution, you aren't just sending a file; you are uploading a signed package that the platforms recognize as a legitimate app. Expo’s build service automates this by handling the complex code-signing requirements we discussed previously.

To push a build to an internal channel, you typically update your eas.json configuration to define a "submit" profile:

{
  "build": {
    "preview": {
      "android": { "buildType": "apk" },
      "ios": { "simulator": false }
    }
  },
  "submit": {
    "production": {
      "ios": { "appleId": "your-email@example.com" },
      "android": { "serviceAccountKeyPath": "./key.json" }
    }
  }
}

By running eas submit, you instruct the build service to take the generated artifact and push it directly to the dashboard of your chosen platform. For your QA team, this means they receive an automated notification that a new version is ready to install, ensuring that everyone is testing the exact same binary version.

Why Internal Distribution Matters

Distributing binaries directly allows you to catch platform-specific bugs that don't appear in the Metro bundler or during local development. It allows testers to interact with the app in an environment that mimics the production release, including real-world performance constraints and native feature permissions. By automating this "build-to-distribution" pipeline, you ensure that QA happens early and often, minimizing the risk of critical issues reaching your end users.

Key Takeaway: Automating the push of binary artifacts to platforms like TestFlight or Google Play ensures your QA team is always testing the latest, production-ready version of your app.