Déploiement
Le déploiement est l’étape cruciale où le code passe de l’environnement de développement à la production, devenant accessible aux utilisateurs finaux.
Déploiement avec GitHub Pages
GitHub Pages est un service d’hébergement statique directement intégré à GitHub, idéal pour les sites web statiques, la documentation ou les portfolios.
Avantages de GitHub Pages
- Intégration directe avec les dépôts GitHub
- Déploiement automatique à partir des commits
- Support de domaines personnalisés
- Certificats SSL gratuits
Processus de déploiement GitHub Pages
- Configuration du dépôt :
- Aller dans les paramètres du dépôt
- Dans la section “Pages”, choisir la branche source (ex:
main
)
- Structure du projet :
- Pour un site utilisateur/organisation : créer un dépôt nommé
username.github.io
- Pour un site de projet : utiliser la branche
gh-pages
ou le dossier/docs
dans la branche principale
- Pour un site utilisateur/organisation : créer un dépôt nommé
- Création du contenu :
- Ajouter des fichiers HTML, CSS, et JavaScript dans le dépôt
- Déploiement automatique :
- Pousser les changements sur la branche configurée
- GitHub Actions peut être utilisé pour des workflows de build plus complexes
Configuration avancée de GitHub Pages :
- Utilisation de générateurs de sites statiques (Jekyll, Hugo, etc.)
- Configuration d’un domaine personnalisé
- Mise en place d’un workflow CI/CD avec GitHub Actions pour des builds personnalisés
Bonnes pratiques générales de déploiement
- Automatisation :
- Utiliser des pipelines CI/CD pour automatiser le processus de déploiement
- Implémenter des tests automatisés avant le déploiement
- Monitoring et logging :
- Mettre en place une surveillance en temps réel des applications déployées
- Centraliser et analyser les logs pour un dépannage rapide
- Gestion des secrets :
- Utiliser des gestionnaires de secrets (comme Kubernetes Secrets)
- Ne jamais stocker d’informations sensibles dans le code source ou les images
- Stratégie de rollback :
- Avoir un plan de retour en arrière rapide en cas de problème
- Tester régulièrement le processus de rollback
- Documentation :
- Maintenir une documentation à jour du processus de déploiement
- Documenter les changements de configuration entre les versions