Outils pour utilisateurs

Outils du site


admin:services:mobilizon.chapril.org:upgrade

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