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