Déploiement ============= Le dossier `deployment/roles` contient des *roles*, c'est-à-dire des élément d'installation exécutés par ansible sur le serveur. Le fichier `playbook.yml` définit l'ordre dans lequel ansible lance les roles. - `common` installe le paquet debian. - `nginx` installe le reverse proxy. - `certbot` ajoute le certificat https. - `archive` : - lance la commande git archive qui crée un tar.gz à partir du dossier de la webapp ; - met cette archive dans `deployment/roles/archive/files` ; - copie l'archive dans le dossier `opt` du serveur ; - extraie l'archive dans le serveur : le code de la webapp est donc copiée dans le serveur. - `pip` installe les librairies Python nécessaires sur le serveur. - `run` lance l'application Flask. - `mongodb` installe mongodb sur le serveur. L'activation de l'ensemble des roles est automatisée avec le script `run_playbook.sh`. Dans `deployment` ------------------- - Si le serveur a été réinstallé, générer une nouvelle clef : `ssh-keygen -f "/.ssh/known_hosts" -R ""` - Pousser la clef ssh dans le serveur : `ssh-copy-id -i /.ssh/id_ed25519.pub debian@` - Entrer le mot de passe du serveur. - Lancer le playbook : `./run_playbook.sh` et entrer le mot de passe du user. Dans `datascience` ------------------- - Rapatrier les dernières modiffications : `git pull`. - Lancer l'environnement virtuel. - Lancer `data_registry_update.sh` (faire une merge s'il y a de nouvelles données). - Générer les JSON : `kedro run --tags="etl_transform"` - Mettre les JSON dans la base mongodb du serveur : `kedro run --tags="populate_database"`. - Le scritp `nosql/actesp.py` permet de lister tout le contenu de la collection sur le serveur.