Open xavyeah39 opened 5 months ago
Oui OK. Par contre, je ne pense pas qu'il faille mettre du ALEMBIC_STAMP dans le script d'update et que l'on doive modifier le contenu de ce fichier. C'est source d'erreur et d'incompréhension.
Et pourquoi installer un rsync
?
Un cp
ne fait pas l'affaire ?
Oui OK. Par contre, je ne pense pas qu'il faille mettre du ALEMBIC_STAMP dans le script d'update et que l'on doive modifier le contenu de ce fichier. C'est source d'erreur et d'incompréhension.
Oui je ne suis pas fan non plus de faire modifier le script... je trouvais ça plus simple sur le coup... On peut aussi sortir les commande flask db du script et documenter en conséquence pour les exécuter manuellement (lorsque que la montée en version l'exige)
Dans GeoNature et ses modules, quand on est passé à Alembic, on a indiqué dans les notes de version le stamp à faire et ça va bien comme ça : https://github.com/PnX-SI/GeoNature/blob/master/docs/CHANGELOG.md?plain=1#L1494
Et pourquoi installer un
rsync
? Uncp
ne fait pas l'affaire ?
Oui, des commandes cp
peuvent faire l'affaire mais je trouve l'opération moins brutal avec rsync
et ça permet de gérer la synchro de l'ensemble des fichiers des répertoires (en excluant certains fichiers plus facilement) plutôt que de gérer par fichier dans certains cas.
Avec Git et .gitignore
c'est plus confort mais ce n'est peut être pas le mode d'install le plus courant...
cp -r ~/gncitizen_old/frontend/src/custom/ $DIR/frontend/src/custom/
par exemple va aussi copier et remplacer tous les fichiers .template
des sous-répertoires depuis le dossier gncitizen_old.
Rien de grave dans l'absolu mais avec rsync
je trouvais plus propre et simple de pouvoir exclure certains pattern de fichiers (pas trouvé l'équivalent avec cp
).
Mais on peut aussi faire avec cp
. Ce qui pourrait donner à la place :
cp ~/gncitizen_old/config/settings.ini $DIR/config/
cp ~/gncitizen_old/config/config.toml $DIR/config/
cp ~/gncitizen_old/config/backoffice_* $DIR/config/
cp ~/gncitizen_old/config/badges_config.py $DIR/config/
cp ~/gncitizen_old/frontend/src/conf/app.config.ts $DIR/frontend/src/conf/
cp ~/gncitizen_old/frontend/src/conf/map.config.ts $DIR/frontend/src/conf/
cp -r ~/gncitizen_old/frontend/src/custom/ $DIR/frontend/src/custom/
cp ~/gncitizen_old/media/* $DIR/media/
cp ~/gncitizen_old/frontend/src/i18n/* $DIR/frontend/src/i18n/
Ouais je préfère faire au plus simple et ne rien installer en plus, mais comme vous préférez.
Je suis d'accord avec @camillemonchicourt, plutôt faire au plus simple avec les outils système de base.
Feature description
Après la mise à jour de 3 instances depuis diverses branches dev de la pre-relealse 0.99 vers les récentes 1.0.0 et 1.1.0, je vous fais un petit retour d'expériences.
Le script update_app.sh mentionné succinctement dans le Readme nécessite d'être adapté si l'on a pas déployé l'application avec
git clone
(la méthode d'installation principale se base sur le téléchargement d'une archive).Je trouve qu'il serait bien d'intégrer dans la documentation globale une section "Mise à jour de l'application". Voici donc une proposition de doc de MàJ pour une install "classique" (plutôt que dev avec git clone) + adaptation du script
update.sh
fourni.Je peux faire une PR si ça vous convient mais je préfère avoir vos avis/retours avant 😄
Mise à jour de GN Citizen
Installer l'utilitaire
rsync
(utilisé pour la copie synchro des conf et custom) :Arrêter les services supervisor et renommer le répertoire de l'instance actuelle :
Récupérer la nouvelle version à installer :
Exécuter le script de MàJ
Dans le script
./install/update_app.sh
, dé-commenter et modifier la variableALEMBIC_STAMP
si les notes de versions le précise (selon la version actuelle à mettre à jour et le nombre de versions à rattraper) :Script
update_app.sh
adapté :Additional context
No response