Outils pour utilisateurs

Outils du site


services:mobilizon.chapril.org:upgrade

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
services:mobilizon.chapril.org:upgrade [2026/04/11 17:40] – supprimée - modification externe (Date inconnue) 127.0.0.1services:mobilizon.chapril.org:upgrade [2026/04/11 17:40] (Version actuelle) – ↷ Page déplacée de admin:services:mobilizon.chapril.org:upgrade à services:mobilizon.chapril.org:upgrade pitchum
Ligne 1: Ligne 1:
 +====== 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 main
 +  * Récupérer les avancées de la branche distante du dépôt 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''
 +  * Se positionner sur la branche du chapril
 +  * Fusionner le tag le plus récent vers la branche chapril avec un git merge.
 +    * pour voir la liste des tags: ''git tag''
 +    * 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 checkout main
 +  git pull upstream main
 +  git fetch --tags upstream
 +  git checkout chapril
 +  git merge 5.1.2
 +  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
 +<note tip> cd /var/www/html/mobilizon/js && yarn run build </note>
 +  * Syncroniser les assets compilés avec la VM biliz (nécessite d'avoir **rsync** installé sur la VM)
 +
 +<note tip>rsync -aP priv/static/* root@biliz.cluster.chapril.org:/srv/mobilizon.chapril.org/live/priv/static --delete</note>
 +===== 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.