deploiement - ZosiscoIV/Dev-Web-2024 GitHub Wiki
Résumé coaching 6.a
+ Le groupe a pu mettre en ligne l'application développée dans son état actuel.
+ Le groupe peut expliquer ce qu'il a dû faire pour héberger et déployer, et justifier les choix.
+ Le groupe présente sur le wiki le choix qui a été posé pour héberger l'application web : fournisseur, configuration matérielle, prix, garantie, plateforme logicielle, …
+ Le groupe présente sur le wiki la configuration du serveur utilisée et la justifie.
+ Les étudiants présentent sur le wiki la manière dont le code est déployé en production : moment, étapes, outils et protocoles utilisés, …
+ Le groupe explique dans le wiki l'automatisation (CI/CD) qui aurait été mis en place.
1. Choix du serveur d'hébergement
[Présentation et justification du serveur choisi : configuration matérielle, prix, garanties fournies par le fournisseur, ...]
IP du site : https://epicerie-didier.linadu.live/
Voir dia P6.1 du cours (page 8)
Pour le serveur d'hébergement nous avons sans grande surprise choisit un de nos vps OVH, par curiosité nous avons été voir le prix pour un vps (de chez OVH) et selon notre estimation de nos besoins, le prix est de 9,60€/mois sur 24 mois. Pourquoi un vps ? Car c'est un bon compromis entre performance et prix. Et il laisse plus de contrôle qu'un hébergement mutualisé par exemple.
Pour l'hébergeur nous sommes chez OVH.
Configuration du Serveur
Notre serveur est configuré de la manière suivante :
- Système d'exploitation : Debian 12
- Serveur web : Nginx
- Gestion des processus : ? pour Node.js
- Base de données : MySQL
- Sécurisation : Tout ce qu'on à fait durant le TP de sécurisation des vps (fail2ban, accès ssh, fermeture ports inutile, parfeu iptables)
2. Technique de déploiement
On update dans le Dockerfile les fichiers à COPY, on construit l'image et on la teste localement. Enfin on va sur le vps et on pull l'image sur le vps. On fait ça pour les 3 containers (front, back et db) et avec un docker-compose on gère le tout en allouant des volumes, un network personnalisé pour que les différents container communiquent entre eux et en mappant les différents ports. => en bonne route
Idéalement, notre installation ressemblera à ça :
[Schéma + explication de la méthodologie de déploiement du code sur le serveur. Quand le code est-il déployé/mis à jour? Quelles sont les étapes? Les outils utilisés? Avez-vous mis de l'automatisation en place? ] Schéma à venir.
méthodologie de déploiement du code
Quand le code est valide et est prêt à être envoyer en production (donc quand on le push dans le main). On update dans le Dockerfile les fichiers à COPY, on construit l'image et on la teste localement. Enfin on va sur le vps et on pull l'image sur le vps et on le lance.
Outils Utilisés
- Git & GitHub : Gestion du code source
- Docker & Docker Compose : Conteneurisation de l’application
- Nginx : Proxy inverse pour gérer le trafic web
3. Automatisation (CI/CD)
L'automatisation n'est pas encore en place. On a quelques fonctionnalité mais pas encore fonctionnel.