Aller au contenu

Effectuer une montée de version

Cette section indique la procédure à suivre pour réaliser une montée de version de l'application Squash TM hors Docker. Pour réaliser la montée de version de Squash TM avec l'image Docker, consulter cette page.
Toute montée de version se fait en deux phases : la mise à jour de la base de données et l'installation de la nouvelle version de l'applicatif.

Focus

Il est fortement recommandé de tester la montée de version sur un environnement iso-prod avant de la réaliser en production.

Préliminaires

  1. Commencer par télécharger la nouvelle version de Squash TM ;
  2. Décompresser l'archive de Squash TM ;
  3. Arrêter l'instance Squash TM en utilisation ;
  4. Conserver une copie des fichiers de configuration présents dans le dossier conf ainsi qu'une copie du fichier startup présent dans le dossier bin de cette instance ;
  5. Faire un dump de la base de données (voir la section sur les Sauvegardes) pour sauvegarde.

Montée de version de la base de données

Mise à jour manuelle (jusqu'à la version 8.1.1)

Si votre version actuelle est inférieure à 8.1.1 (par exemple 5.x ou 7.x), il est nécessaire de mettre à jour la base de données jusqu'à la version 8.1.1.
Pour cela, passer les scripts de montée de version (<database>-upgrade-to-<version>.sql) présents dans le répertoire database-scripts de la nouvelle version de Squash TM. Attention, les scripts d'upgrade doivent être passés en fonction du type de base de données et dans l'ordre des versions. Il faut toujours partir du script portant le numéro de la version supérieure à celle du Squash TM en cours d'utilisation.

Par exemple, pour réaliser une montée de version d'un Squash TM 6.0.0 vers un Squash TM 8.1.1, sur une base de données PostgreSQL, voici la liste des scripts à passer :

  • postgresql-upgrade-to-7.0.0.sql ;
  • postgresql-upgrade-to-7.1.0.sql ;
  • postgresql-upgrade-to-7.2.0.sql ;
  • postgresql-upgrade-to-7.3.0.sql ;
  • postgresql-upgrade-to-8.0.0.sql ;
  • postgresql-upgrade-to-8.1.0.sql.

Attention

Les scripts d'upgrade doivent impérativement être passés dans l'ordre des versions. Si les scripts ont été passés dans le désordre, il faut recommencer la montée de version à partir du dump de sauvegarde.

Mise à jour automatique (à partir de la version 9.0.0)

Squash TM 9.0 introduit un système d'installation et de mise à jour automatique de la base de données.

  1. Accéder au fichier de configuration squash.tm.cfg.properties.

  2. Modifier le paramètre squash.db.update-mode en fonction du mode souhaité :

    • interactive (par défaut) : Ce mode exige une confirmation manuelle avant chaque mise à jour automatique de la base de données. Si, au démarrage d'une nouvelle version de Squash TM, la nécessité d'une mise à jour de la base de données est détectée, une invite demande si un dump existe ou non. Pour que le démarrage de Squash TM continue (ou s'interrompe, au choix de l'utilisateur), une saisie manuelle est nécessaire afin de répondre au prompt qui s'affiche dans la fenêtre de commande.
    • forced : La mise à jour de la base de données est lancée sans demander à l'utilisateur ni de confirmer la mise à jour ni si une sauvegarde a été réalisée.

      Squash TM utilisé dans Docker ou en tant que service

      Pour les installations de Squash TM sans invite de commande, par exemple dans Docker ou en tant que service Windows ou Linux (systemd), le mode forced doit être utilisé. (Dans l'image Docker fournie par Henix, ce paramètre est déjà défini à forced.)

    • disabled : Si au démarrage d'une nouvelle version de Squash TM, la nécessité d'une mise à jour de la base de données est détectée, aucune action n'est effectuée pour mettre à jour la base. L'application tente alors de continuer son démarrage, mais échouera probablement en raison d'une incompatibilité entre la version de l'application et celle de la base de données. Il appartiendra à l'utilisateur de mettre à jour la base de données en relançant Squash TM avec une valeur adéquate de ce paramètre (par exemple, mettre la valeur à only et lancer Squash TM une fois pour mettre à jour la base de données, puis repasser la valeur à disabled).

    • only : Ce mode, uniquement dédié à la mise à jour de la base de données, l'actualise automatiquement. Il n'y a pas de confirmation manuelle. Squash TM ne démarrera pas au terme du processus de mise à jour.

Analyse des erreurs de mise à jour de la base de données

Si des erreurs surviennent lors de la mise à jour de la base de données, vous pouvez consulter les logs dans le fichier squash-tm.log. Les détails de chaque mise à jour, dont les statuts d'exécution, sont également consignés dans la table DATABASECHANGELOG.

Focus

Pour les bases de données PostgreSQL, les actions sur la base de données telles que les sauvegardes, les restaurations et les passages de scripts sont à effectuer avec l'utilisateur squash-tm et non avec l'utilisateur postgres.
S'assurer que l'utilisateur squash-tm dispose bien des droits de propriétaire (DATABASE OWNER) sur la base de données. Réattribuer ces droits si nécessaire.

Montée de version de l'application

  1. Installer l'application Squash TM décompressée à l'emplacement souhaité ;
  2. Reporter manuellement les informations spécifiques à l'environnement (depuis les fichiers sauvegardés en phase préliminaire) dans les fichiers de démarrage et de configuration du nouveau Squash TM. Enregistrer les modifications ;
  3. Récupérer et installer les plugins compatibles avec la version de Squash TM dans le répertoire plugins. Ne pas oublier de supprimer les anciennes versions, ainsi que les plugins obsolètes ;
  4. Ne pas oublier de déposer le fichier de licence dans le sous-répertoire license du répertoire plugins ;
  5. Si possible vider les caches tomcat (dans tomcat-home/work, supprimer le dossier Tomcat) et vider l'intérieur du dossier tmp ;
  6. Démarrer la nouvelle version de Squash TM ;
  7. Demander aux utilisateurs de vider les caches de leur navigateur après la montée de version pour éviter tout problème d'affichage.

En savoir plus

Pour les détails de l'installation de Squash TM et de ses plugins, se référer aux pages suivantes : Installation de l'applicatif et Installation des plugins Squash TM.