- 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 <nom du tag> -m "<message>"`.
- 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.
- 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/ <user>@<domain>:~/)
- `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`