diff --git a/source/deploiement.rst b/source/deploiement.rst index fb02281..7bfda6e 100644 --- a/source/deploiement.rst +++ b/source/deploiement.rst @@ -27,28 +27,57 @@ Le dossier `deployment/roles` contient des *roles*, c'est-à-dire des élément L'activation de l'ensemble des roles est automatisée avec le script `run_playbook.sh`. -Dans `deployment` -------------------- +Procédure d'installation +------------------------ -- Si le serveur a été réinstallé, générer une nouvelle clef : `ssh-keygen -f "/.ssh/known_hosts" -R ""` +1. Dans `princevault`, *activer le venv* : -- Pousser la clef ssh dans le serveur : `ssh-copy-id -i /.ssh/id_ed25519.pub debian@` + - faire le decrypt : `./vault decrypt` ; -- Entrer le mot de passe du serveur. + - ajouter la clef ssh : `ssh-keygen -f "/.ssh/known_hosts" -R ""`, `ssh-copy-id -i /.ssh/id_ed25519.pub debian@`. -- Lancer le playbook : `./run_playbook.sh` et entrer le mot de passe du user. +2. Dans `webapp` : -Dans `datascience` -------------------- + - copier/coller le param.yaml de `princevault` et le renommer. -- Rapatrier les dernières modiffications : `git pull`. + - pour livrer une version de la webapp il faut créer un tag : `git checkout main`, `git merge develop`, `git tag -a -m ""`. -- Lancer l'environnement virtuel. +3. Dans `deployment`, *activer le venv* : -- Lancer `data_registry_update.sh` (faire une merge s'il y a de nouvelles données). + - copier/coller le main.yml de `princevault/deployment` dans `deployment/group_vars/all`, le renommer et vérifier que le bon tag est renseigner dans `application_release_tag`. -- Générer les JSON : `kedro run --tags="etl_transform"` + - lancer le playbook (`./install.sh`), qui lance les rôles : -- Mettre les JSON dans la base mongodb du serveur : `kedro run --tags="populate_database"`. + - Rôle common. `deployment/roles/common/tasks/main.yml` : installation et mise à jour du système et des outils. (cron renouvelle le certificat https) -- Le scritp `nosql/actesp.py` permet de lister tout le contenu de la collection sur le serveur. \ No newline at end of file + - Rôle ngnx. `deployment/roles/nginx/tasks/main.yml` : compléter les fichiers de `/etc/nginx/sites-enabled/`. Pour ajouter une autre appli, faire une variable `domain2`. + + - Rôle certbot. + + - Rôle archive. + + - Rôle pip. + + - Rôle mongodb. + +4. Dans `datascience`, *activer le venv* : + + - copier/coller le param.yml de `princevault/datascience` dans `datascience/actes-princiers/conf/local` + + - installer les librairies : `pip install -r ./actes-princiers/src/requirements.txt` + + - récupéer les dernières données : `./data_registry_update.sh` + + - effacer le contenu de 02_intermediate`./clean_intermediate_data.sh` + + - dans `datascience/actes-princiers` : `kedro run --tags="etl_transform"` + + - (scp -r datascience/ @:~/) + + - `kedro run --tags="populate_database"` + +5. Dans `deployment`, *activer le venv* : + + - Lancement de l'application (`launch_playbook.yml`) avec `./launch_application.sh` + +7. Publier l'application en cas de mise à jour : `deployment/publish.sh`