Déployer sur AWS Elastic Beanstalk avec GitHub Actions

Guide GitHub Actions + Elastic Beanstalk : configuration, workflow, variables d'environnement et automatisation.

Déploiement automatisé : de GitHub à Elastic Beanstalk

Mettre en place une architecture scalable pour votre backend peut sonner comme un véritable challenge. AWS Elastic Beanstalk simplifie le déploiement et le scaling. Combiné avec GitHub Actions, vous obtenez un pipeline CI/CD complet. Chez Eve Media, nous automatisons les déploiements pour nos clients.

Pourquoi Elastic Beanstalk

Beanstalk est un PaaS AWS qui gère l’infrastructure pour vous : instances EC2, load balancer, auto-scaling. Vous uploadez votre code, Beanstalk s’occupe du reste. Plus simple qu’ECS ou Kubernetes pour des déploiements standards.

Prérequis

Un compte AWS avec les permissions nécessaires. Une application Elastic Beanstalk créée. Un repo GitHub avec votre code backend. Des credentials AWS (Access Key ID et Secret).

Configurer les secrets GitHub

Dans Settings > Secrets de votre repo, ajoutez : AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY. Ces credentials permettent au workflow de déployer sur votre compte AWS. Utilisez un utilisateur IAM avec les permissions minimales.

Le workflow GitHub Actions

Créez .github/workflows/deploy.yml. Le workflow se déclenche sur push vers main. Il checkout le code, configure AWS CLI, package l’application, et déploie sur Beanstalk.

Étapes du workflow

Checkout : récupère le code. Setup : installe les dépendances si nécessaire. Build : compile/bundle l’application. Create zip : package le code pour Beanstalk. Upload to S3 : dépose le package. Deploy : déclenche le déploiement Beanstalk.

Action aws-actions

L’action aws-actions/configure-aws-credentials configure les credentials. L’action aws-actions/amazon-eb-deploy peut simplifier le déploiement. Alternativement, utilisez la CLI eb ou aws directement.

Environment branches

Différentes branches peuvent déployer vers différents environnements. main → production. staging → environment de staging. Configurez les triggers et les variables d’environnement en conséquence.

Variables d’environnement

Les variables sensibles (database URL, API keys) sont dans Beanstalk, pas dans le code. Le workflow peut mettre à jour les variables d’environnement si nécessaire. Séparez les secrets des configurations.

Rollback

Beanstalk conserve les versions précédentes. En cas de problème, vous pouvez rollback en un clic dans la console. Ou automatisez le rollback si les health checks échouent.

Notifications

Ajoutez des notifications Slack ou email en fin de workflow. Informez l’équipe des déploiements réussis ou échoués. L’intégration avec les outils de communication améliore la visibilité.

Conclusion

L’automatisation du déploiement avec GitHub Actions et Elastic Beanstalk transforme les releases de corvée stressante en non-événement. Le setup initial demande un peu de travail, mais le gain de temps est significatif.

Chez Eve Media, nous mettons en place des pipelines CI/CD. Contactez-nous pour automatiser vos déploiements.

Partager sur :

Autres

Audit Digital & SEO

Audit Digital & SEO

Audit Digital & SEO : Optimisez Votre Présence et Vos Performances Web Avoir un site internet esthétique est une première étape, mais s’assurer qu’il soit

Éco-conception de Sites Internet

Éco-conception de Sites Internet : Allier Performance Numérique et Responsabilité Écologique L’éco-conception des sites web est une démarche essentielle pour créer des plateformes numériques performantes

Envoyer un message

WhatsApp