Expo et GitHub Actions : La recette pour des déploiements sans effort
Écrit par Clément le
Introduction
Si vous êtes développeur d'applications mobiles, vous êtes probablement familier avec Expo, un outil qui permet de construire et de déployer des applications mobiles React Native de manière simplifiée. Cependant, une fois que vous avez terminé de développer votre application, le processus de build et de déploiement sur les stores d’Apple et de Google peut être fastidieux. C'est là qu'intervient GitHub Action, une fonctionnalité qui permet d'automatiser des tâches répétitives.
Pour les non-développeurs, vous aimeriez une petite traduction ?
“GitHub” est une plateforme où les développeurs stockent et partagent leur code. “GitHub action” est une fonctionnalité de cette plateforme qui automatise des tâches répétitives des développeurs, comme la vérification du code ou la préparation de versions de l'application.
Dans cet article, nous parlerons d'automatiser la création et le déploiement de ces “builds” (imaginez cela comme une version emballée et prête à l'emploi de l'application). Le déploiement d’un build signifie le rendre accessible aux utilisateurs ou testeurs.
Grâce à ces automatisations, les développeurs gagnent du temps et peuvent se consacrer pleinement à des activités qui bénéficient directement aux utilisateurs finaux.
Pré-requis
Avoir un compte Expo et un projet Expo configuré
Avoir un compte Github et un projet Github configuré
Avoir généré un token Expo
Outre la configuration initiale, vous devez également vous assurer que votre configuration EAS est correcte. Pour cela, vous pouvez vérifier que votre fichier eas.json est correctement configuré pour chaque plateforme que vous souhaitez prendre en charge. La section submit doit être complétée avec les infos pour déployer sur vos stores :
Le token Expo est un jeton d'authentification qui vous permet d'accéder à votre compte Expo et de gérer vos projets. Pour générer un token Expo, vous devez vous connecter à votre compte Expo et suivre les instructions fournies. Vous pouvez ensuite ajouter ce token à vos secrets GitHub en tant que variable d'environnement pour l'utiliser dans votre fichier de workflow.
Il est également recommandé de laisser Expo gérer le numéro de build de votre app (documentation expo).
Déclencher des builds avec GitHub Actions
Pour déclencher des builds avec GitHub Actions dans Expo, vous devez d'abord créer un fichier de workflow.
Ce fichier doit se placer dans le dossier .github qui se trouve à la racine de votre projet, il contient les instructions pour votre action GitHub, telles que le déclenchement, le type d'événements à surveiller et les tâches à exécuter. Dans le cas d'un build Expo, vous pouvez utiliser le fichier de workflow ci-dessous :
Ce fichier de workflow surveille les événements de poussée sur la branche principale de votre projet sur GitHub. Lorsqu'un push est détecté, l'action de build et de déploiement est déclenché. Cette action exécute les étapes suivantes :
Récupère le code source depuis votre branche GitHub spécifiée dans le fichier
Installe les dépendances nécessaires
Construit l'application Expo pour iOS et Android (selon votre fichier de configuration eas.json)
Déploie l'application sur l’AppStore et le Google Play Store grâce à l’option —auto-submit
Vous pouvez en créer autant que vous le désirez et prévoir des scénarios pour par exemple déployer des builds sur des environnements différents (development, staging ou production) en fonction de la branche ciblée.
Pensez à modifier la dernière ligne du script pour coller à vos besoins.
Conclusion
En utilisant GitHub Actions, vous pouvez automatiser le processus de construction et de déploiement de votre application Expo, ce qui vous permet de gagner du temps et de vous concentrer sur le développement. En suivant les étapes ci-dessus, vous pouvez déclencher des builds avec GitHub Actions dans Expo, en un rien de temps ! N'hésitez pas à démarrer dès maintenant et à explorer les nombreux avantages de cette automatisation pour votre projet.
Vous souhaitez mettre en place cette logique sur vos projets Expo ? Notre équipe technique serait ravie de vous aider à démarrer.
Clément
Développeur mobile et web expérimenté, amateur de musique, fan de skateboard, explore sans relâche le monde numérique.