Mettre à jour un module

De SOS Paris
Aller à : navigation, rechercher

Le développement d'Arii est en constante évolution, il est donc conseillé de faire des mises à jour régulières pour bénéficier des derniers changements.

Contrairement à l'installation d'un nouveau module qui demande à modifier la configuration du portail, la mise à jour ne touche que les fichiers du module, la mise à jour de la base de données et la saisie de nouveaux paramètres.

Conseil: Appliquer la procédure complète pour chaque module plutôt que d'exécuter une étape sur plusieurs modules. Concrètement, il s'agit de valider la mise à jour du module jusqu'à la mise à jour de la base de données et le paramétrage. En cas de problème, il suffit de revenir en arrière avec git checkout.

Si vous faites un git pull sur plusieurs modules, il sera beaucoup plus difficile de réparer car il faudra retrouver la source du problème dans les différents modules.

Mise à jour Git

Le code des modules se trouve dans /home/arii/Symfony/src/Arii/

Aller dans le module à mettre à jour:

cd Symfony/src/Arii/${nomDuModule}Bundle

par exemple:

 cd Symfony/src/Arii/JOCBundle

git pull

Faire un git pull

git pull

Si la version locale est à jour, on doit obtenir le message:

Already up-to-date.

Sinon, le résultat ressemble à cet exemple:

remote: Counting objects: 16, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 16 (delta 12), reused 16 (delta 12), pack-reused 0
Unpacking objects: 100% (16/16), done.
From http://github.com/AriiPortal/JOCBundle
   3b4358b..0dd249a  master     -> origin/master
Updating 3b4358b..0dd249a
Fast-forward
 Resources/views/Connections/index.html.twig      |  8 ++--
 Resources/views/Jobs/index.html.twig             | 57 +++++-------------------
 Resources/views/Orders/index.html.twig           | 45 +++++--------------
 Resources/views/ProcessClasses/index.html.twig   | 21 ++-------
 Resources/views/RemoteSchedulers/index.html.twig |  7 ++-
 Resources/views/Spoolers/index.html.twig         | 34 +++-----------
 6 files changed, 38 insertions(+), 134 deletions(-)

Si la nouvelle version ne convient pas, il est toujours possible de revenir à une version antérieure.

git log

On appelle le journal des versions par git log:

git log
commit 0dd249a9d82a949c5d7d8fd34ee173ba7da53f80
Author: Eric Angenault <eat@vaudoise.ch>
Date:   Fri Nov 18 13:51:58 2016 +0100

    Boutons affiches par le privilege ROLE_OPERATOR 

commit 3b4358b5a93aa630d478ada110b690a1c8709fdf
Author: Eric Angenault <eat@vaudoise.ch>
Date:   Thu Nov 17 12:38:03 2016 +0100

    Focus v2

commit 4df679cc94250f267e611144319cc76f4c0c0414
Author: Eric Angenault <eat@vaudoise.ch>
Date:   Thu Nov 17 12:10:01 2016 +0100

    MAJ

...

git checkout

Je veux revenir à la version MAJ du commit 4df679cc94250f267e611144319cc76f4c0c0414:

git checkout 4df679cc94250f267e611144319cc76f4c0c0414
Note: checking out '4df679cc94250f267e611144319cc76f4c0c0414'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
 git checkout -b <new-branch-name>
HEAD is now at 4df679c... MAJ

git pull origin master

Si on veut revenir à la version du serveur, on tente un nouveau git pull:

git pull
You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

    git pull <remote> <branch>

Le message indique qu'il est nécessaire de préciser la source et la branche:

git pull origin master
From http://github.com/AriiPortal/JOCBundle
 * branch            master     -> FETCH_HEAD
Updating 4df679c..0dd249a
Fast-forward
 Controller/FocusController.php                   |  2 +-
 Resources/views/Connections/index.html.twig      |  8 ++--
 Resources/views/Jobs/index.html.twig             | 57 +++++-------------------
 Resources/views/Orders/index.html.twig           | 45 +++++--------------
 Resources/views/ProcessClasses/index.html.twig   | 21 ++-------
 Resources/views/RemoteSchedulers/index.html.twig |  7 ++-
 Resources/views/Spoolers/index.html.twig         | 34 +++-----------
 7 files changed, 39 insertions(+), 135 deletions(-)

Il est fortement conseillé de mettre aussi à jour le Noyau car il peut contenir des icônes, des traductions ou des paramètres complémentaires.

Mise à jour de la BD

Le module peut utiliser de nouvelles tables dans la base de données.

Pour savoir quels seront les changements dans la BDD :

php app/console doctrine:schema:update --dump-sql

Pour les appliquer à la BDD :

php app/console doctrine:schema:update --force

Paramètres du module

Ces paramètres dépendent du module, il faut donc se référer à la documentation pour les mettre à jour.

Supprimer le cache

Symfony gère un cache pour optimiser les performances, il est donc prudent de supprimer le cache après la mise à jour d'un module afin de recréer les nouveaux fichiers.

avec le compte arii :

rm -Rf ~/Symfony/app/cache/*
rm -f ~/Symfony/app/logs/*.log
sudo service apache2 restart

Déconnecter l'utilisateur

Arii conserve la configuration dans la session de l'utilisateur, il est nécessaire de se déconnecter pour prendre en compte d'éventuels nouveaux paramètres.