====== Mise à jour de la version chapril mobilizon ======
Cette page fait doublon avec la section idoine de la page [[admin:services:mobilizon.chapril.org#mise_a_jour_de_la_version_chapril_mobilizon|Mobilizon Chapril]].
Pour fusionner les avancées de l'upstream avec la branche chapril:
===== Plan d'action général =====
* Communiquer le début de migration
* Fusionner la nouvelle version dans notre branche "chapril"
* Compiler les assets du frontend et les envoyer sur la VM biliz
* prendre les vernières modifications et migrer la base de données
* relancer le service mobilizon
* Vérfier que tout est bon
* Communiquer la fin de migration
Voici le détail des opérations:
===== Localement =====
disons dans le dossier **/var/www/html/mobilizon**
- fusionner le tag le plus récent sur la branche chapril
- pour voir la liste des tags: **git tag**
- **git merge 1.0.6** (par exemple, mais il faut utiliser la version la plus récente)
- résoudre les éventuels conflits
- vérifier que tout fonctionne bien
- en effectuant les migrations de base données **mix ecto.migrate**
- en lançant localement le serveur **mix phx.server** et en naviguant sur http://localhost:4000
- créer un tag avec le préfixe chapril et le numéro de tag, par exemple **git tag chapril-1.0.6**
- envoyer vers la forge chapril notre nouveau tag
- **git push --tags**
- Se positionner sur la branche master: **git checkout master**
- Prendre les avancées du dépot upstream, tags inclus:
- Si vous n'avez pas ajouté le dépot upstream, ajoutez le en https ou en ssh selon votre préférence
- **git remote add upstream https://framagit.org/framasoft/mobilizon.git**
- **git remote add upstream git@framagit.org:framasoft/mobilizon.git**
- **git pull --all**
- Recompiler les assets du frontend et les mettre dans le dossier live/priv/static
cd /var/www/html/mobilizon/js && yarn run build
- Syncroniser les assets compilés avec la VM biliz (nécessite d'avoir **rsync** installé sur la VM)
rsync -aP priv/static/* root@biliz.cluster.chapril.org:/srv/mobilizon.chapril.org/live/priv/static --delete
===== Sur la VM biliz =====
- se connecter à la VM biliz, aller dans le dossier "live",
se mettre en tant qu'utilisateur mobilizon et récupérer les dernières modifications de la branche chapril. (attention à avoir comme dépot d'origine le dépot de la forge april, et non l'upstream pour bien avoir votre branche personnelle) Ce qui nous amène sur le tag le plus récent:
**su mobilizon**
**cd /srv/mobilizon.chapril.org/live**
**git checkout chapril**
**git pull --tags origin && git pull origin chapril**
- Stopper le service mobilizon: **service mobilizon stop**
===== Migrer le backend de mobilizon =====
(on en a pas forcément besoin à tous les coups, si dans la partie locale vous aviez remarqué que seule la partie frontend changeait, vous pouvez relancer le service après avoir uniquement mis à jour les assets de priv/static et faire **service mobilizon restart**). Ne pas oublier de spécifier l'environnement de prod.
su -H mobilizon MIX_ENV=prod mix deps.get
su -H mobilizon MIX_ENV=prod mix ecto.migrate
- Remettre l'utilisateur mobilizon comme owner des fichiers
chown -R mobilizon:mobilizon /srv/mobilizon.chapril.org/live
- relancer le service mobilizon: **service mobilizon start** ce qui doit prendre environ 5 secondes sur Biliz.
===== Vérifications =====
* vérifier les erreur dans le journal du service : ''journalctl -fu mobilizon -n1000''
* si c'est bon, interrompre la lecture du journal d'erreurs: Ctrl + C.
* vérifier le frontend sur https://mobilizon.chapril.org , nécessite un vidage de votre cache navigateur (ctrl + R)
* Communiquer la fin de mise à jour sur les canaux qui vont bien.