admin:services:mobilizon.chapril.org:upgrade
Table des matières
Mise à jour de la version Chapril mobilizon
Pour fusionner les avancées de l'upstream avec la branche Chapril, il nous faut fusionner les modifications publiées dans le tag le plus récent.
Plan d'action général
- Fusionner la nouvelle version dans notre branche “chapril”
- Communiquer le début de migration
- Compiler les assets du frontend et les envoyer sur la VM biliz
- Prendre les derniè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
Admettons que vous avez les sources de mobilizon sur votre poste de travail dans le dossier /tmp/mobilizon
et que la dernière version est la 5.1.2. Pour faire l'upgrade vers le tag le plus récent:
- Se positionner sur la branche du chapril:
git checkout chapril
- Se positionner sur la branche du Chapril et prendre les avancées de la branche main 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/kaihuri/mobilizon.git
git remote add upstream git@framagit.org:kaihuri/mobilizon.git
git checkout chapril git pull upstream main git fetch --tags upstream
- fusionner le tag le plus récent vers la branche chapril avec un git merge.
- pour voir la liste des tags:
git tag
git merge 5.1.2
- 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
- une fois les conflits résolus, modifications faites et le lint vérifié, faire un commit et un tag chapril-x.x.x (en mettant le bon numéro de tag, celui que l'on vient de fusionner) les envoyer sur la forge du Chapril.
git tag chapril-5.1.2 git push --all
Nous pouvons maintenant mettre à jour la VM biliz en production.
- 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
Il n'est pas nécessaire de le faire à tous les coups, si 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.
admin/services/mobilizon.chapril.org/upgrade.txt · Dernière modification : 2025/05/10 14:08 de rro