|
|
|
|
|
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`
|