Aller au contenu

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

  1. Configuration du dépôt :
    • Aller dans les paramètres du dépôt
    • Dans la section “Pages”, choisir la branche source (ex: main)
  2. 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
  3. Création du contenu :
    • Ajouter des fichiers HTML, CSS, et JavaScript dans le dépôt
  4. 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

  1. Automatisation :
    • Utiliser des pipelines CI/CD pour automatiser le processus de déploiement
    • Implémenter des tests automatisés avant le déploiement
  2. 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
  3. Gestion des secrets :
    • Utiliser des gestionnaires de secrets (comme Kubernetes Secrets)
    • Ne jamais stocker d’informations sensibles dans le code source ou les images
  4. 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
  5. Documentation :
    • Maintenir une documentation à jour du processus de déploiement
    • Documenter les changements de configuration entre les versions