expo-deployment

Par expo · skills

Déploiement d'applications Expo sur l'App Store iOS, le Google Play Store, l'hébergement web et les routes API

npx skills add https://github.com/expo/skills --skill expo-deployment

Déploiement

Cette compétence couvre le déploiement d'applications Expo sur toutes les plateformes en utilisant EAS (Expo Application Services).

Références

Consultez ces ressources selon vos besoins :

  • ./references/workflows.md -- Workflows CI/CD pour les déploiements automatisés et les aperçus de PR
  • ./references/testflight.md -- Soumettre des builds iOS à TestFlight pour les tests bêta
  • ./references/app-store-metadata.md -- Gérer les métadonnées de l'App Store et l'optimisation ASO
  • ./references/play-store.md -- Soumettre des builds Android au Google Play Store
  • ./references/ios-app-store.md -- Processus de soumission et d'examen de l'iOS App Store

Démarrage rapide

Installer EAS CLI

npm install -g eas-cli
eas login

Initialiser EAS

npx eas-cli@latest init

Cela crée eas.json avec les profils de build.

Commandes de build

Builds de production

# Build iOS App Store
npx eas-cli@latest build -p ios --profile production

# Build Android Play Store
npx eas-cli@latest build -p android --profile production

# Les deux plateformes
npx eas-cli@latest build --profile production

Soumettre aux stores

# iOS : Build et soumission à App Store Connect
npx eas-cli@latest build -p ios --profile production --submit

# Android : Build et soumission au Play Store
npx eas-cli@latest build -p android --profile production --submit

# Raccourci pour iOS TestFlight
npx testflight

Déploiement web

Déployez des applications web en utilisant EAS Hosting :

# Déployer en production
npx expo export -p web
npx eas-cli@latest deploy --prod

# Déployer un aperçu de PR
npx eas-cli@latest deploy

Configuration EAS

eas.json standard pour les déploiements de production :

{
  "cli": {
    "version": ">= 16.0.1",
    "appVersionSource": "remote"
  },
  "build": {
    "production": {
      "autoIncrement": true,
      "ios": {
        "resourceClass": "m-medium"
      }
    },
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    }
  },
  "submit": {
    "production": {
      "ios": {
        "appleId": "your@email.com",
        "ascAppId": "1234567890"
      },
      "android": {
        "serviceAccountKeyPath": "./google-service-account.json",
        "track": "internal"
      }
    }
  }
}

Guides spécifiques par plateforme

iOS

  • Utilisez npx testflight pour les soumissions rapides à TestFlight
  • Configurez les identifiants Apple via eas credentials
  • Voir ./reference/testflight.md pour la configuration des identifiants
  • Voir ./reference/ios-app-store.md pour la soumission à l'App Store

Android

  • Configurez le compte de service Google Play Console
  • Configurez les tracks : internal → closed → open → production
  • Voir ./reference/play-store.md pour la configuration détaillée

Web

  • EAS Hosting fournit des URLs d'aperçu pour les PRs
  • Les déploiements de production se font sur votre domaine personnalisé
  • Voir ./reference/workflows.md pour l'automatisation CI/CD

Déploiements automatisés

Utilisez EAS Workflows pour CI/CD :

# .eas/workflows/release.yml
name: Release

on:
  push:
    branches: [main]

jobs:
  build-ios:
    type: build
    params:
      platform: ios
      profile: production

  submit-ios:
    type: submit
    needs: [build-ios]
    params:
      platform: ios
      profile: production

Voir ./reference/workflows.md pour plus d'exemples de workflows.

Gestion des versions

EAS gère automatiquement les numéros de version avec appVersionSource: "remote" :

# Vérifier les versions actuelles
eas build:version:get

# Définir manuellement la version
eas build:version:set -p ios --build-number 42

Surveillance

# Lister les builds récents
eas build:list

# Vérifier l'état du build
eas build:view

# Afficher l'état de la soumission
eas submit:list

Skills similaires