Cérémonial de mise en production =================================== Installation =============== Vue d'ensemble ---------------- .. important:: Relire attentivement les fichiers `MiseEnProd.txt` dans les trois dépôts git `webapp`, `datascience` et `deployment`. 1. **webapp**: tag et paramètrage de l'app dans `webapp` 2. procédure d'installation (dans `deployment`, cf ci-dessous) 3. populate database (dans `datascience`) 4. démarrage de l'application (dans `deployment`) Dans `group_vars/all` ----------------------- - renommer `main.yml` en `main.dev.yml` :: cp main.yml main.dev.yml - renommer `main.prod.yml` en `main.yml` :: cp main.prod.yml main.yml - ouvrir le fichier `main.yml`, - vérifier que la variable `mode` est bien renseignée :: mode: production - vérifier que la variable `action` est bien renseignée :: action: install - vérifier que `application_release_tag` pointe sur le bon tag de release A la racine du projet ------------------------------- - lancer `source .venv/bin/activate` à la racine du projet - vérifier que la procédure de tag de release dans `webapp` a bien été faite - lancer `./install.sh` :: ./install.sh - aller dans `datascience`, dérouler le cérémonial de prod - revenir à la racine du projet, lancer `launch_application.sh` :: ./launch_application.sh Mise à jour de l'application =============================== Vue d'ensemble -------------- 1. tag et paramètrage de l'app dans `webapp` 2. procédure de mise à jour (dans `deployment`, cf ci-dessous) 4. re-démarrage de l'application (dans `deployment`) Dans `group_vars/all` ----------------------- - renommer `main.yml` en `main.dev.yml` - renommer `main.prod.yml` en `main.yml` - ouvrir le fichier `main.yml`, - vérifier que la variable `mode` est bien renseignée :: mode: production - vérifier que la variable `action` est bien renseignée **et lui affecter la valeur `publish`** :: action: publish - vérifier que `application_release_tag` pointe sur le bon tag de release - lancer `source .venv/bin/activate` à la racine du projet - vérifier que la procédure de tag de release dans `webapp` a bien été faite - **lancer la commande `./publish.sh`** - **optionnel** : aller dans `datascience`, dérouler le cérémonial de prod si les datas ont changées - revenir à la racine du projet, lancer `launch_application.sh`