Agent Skills: React Native Deployment Skill

Master deployment - EAS Build, Fastlane, App Store, Play Store, and OTA updates

react-nativeEAS Buildfastlaneapp-storeplay-storeOTA updates
deployID: pluginagentmarketplace/custom-plugin-react-native/react-native-deployment

Skill Files

Browse the full folder contents for react-native-deployment.

Download Skill

Loading file tree…

skills/react-native-deployment/SKILL.md

Skill Metadata

Name
react-native-deployment
Description
Master deployment - EAS Build, Fastlane, App Store, Play Store, and OTA updates

React Native Deployment Skill

Learn to build, sign, and deploy React Native apps to iOS App Store, Google Play Store, and OTA update systems.

Prerequisites

  • React Native app ready for production
  • Apple Developer Account (iOS)
  • Google Play Developer Account (Android)
  • Basic understanding of CI/CD

Learning Objectives

After completing this skill, you will be able to:

  • [ ] Configure EAS Build for production
  • [ ] Set up iOS code signing
  • [ ] Generate Android keystores
  • [ ] Submit to App Store and Play Store
  • [ ] Implement OTA updates with EAS Update

Topics Covered

1. EAS Build Setup

# Install EAS CLI
npm install -g eas-cli

# Login
eas login

# Configure
eas build:configure

# Build
eas build --platform all --profile production

2. EAS Configuration

// eas.json
{
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "production": {
      "autoIncrement": true
    }
  },
  "submit": {
    "production": {
      "ios": { "appleId": "your@email.com" },
      "android": { "track": "production" }
    }
  }
}

3. iOS Code Signing

# With Fastlane Match
fastlane match appstore

# Manual (Xcode)
# 1. Create certificate in Apple Developer
# 2. Create provisioning profile
# 3. Download and install in Xcode

4. Android Keystore

# Generate keystore
keytool -genkeypair -v -storetype PKCS12 \
  -keystore release.keystore \
  -alias my-key-alias \
  -keyalg RSA -keysize 2048 -validity 10000

# NEVER commit keystore or passwords

5. OTA Updates

// Check for updates
import * as Updates from 'expo-updates';

async function checkUpdates() {
  const update = await Updates.checkForUpdateAsync();
  if (update.isAvailable) {
    await Updates.fetchUpdateAsync();
    await Updates.reloadAsync();
  }
}

6. Submission Commands

# Build and submit in one command
eas build --platform all --profile production --auto-submit

# Submit existing build
eas submit --platform ios --latest
eas submit --platform android --latest

Quick Start Example

# 1. Configure EAS
eas build:configure

# 2. Build for production
eas build --platform all --profile production

# 3. Submit to stores
eas submit --platform all --latest

# 4. Push OTA update
eas update --branch production --message "Bug fixes"

Pre-Submission Checklist

iOS App Store

  • [ ] App icon (1024x1024)
  • [ ] Screenshots (all sizes)
  • [ ] Privacy policy URL
  • [ ] App review information
  • [ ] Build uploaded to TestFlight

Google Play Store

  • [ ] Hi-res icon (512x512)
  • [ ] Feature graphic (1024x500)
  • [ ] Screenshots (phone + tablet)
  • [ ] Content rating completed
  • [ ] Signed AAB uploaded

Common Errors & Solutions

| Error | Cause | Solution | |-------|-------|----------| | Code signing failed | Certificate mismatch | Regenerate certs | | Build number conflict | Not incremented | Use autoIncrement | | Upload rejected | Missing metadata | Complete all fields |


Validation Checklist

  • [ ] Build succeeds for both platforms
  • [ ] App installs from TestFlight/Internal
  • [ ] OTA updates apply correctly
  • [ ] Store listing is complete

Usage

Skill("react-native-deployment")

Bonded Agent: 07-react-native-deploy