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 testflightpour 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