App Manager
L'App Manager est un utilitaire permettant de gérer la maintenance des différents applicatifs myfab installés ou à installer sur le serveur.
Présentation de l'App Manager
1. Préambule
L'App Manager permet de gérer l'installation et la mise à jour des applications myfab et Open-Prod. Initialement, toute cette gestion se faisait au travers de commandes spécifiques décrites par myhelp. De son côté, l'utilitaire myhelp rassemble et met en forme des lignes de commandes utiles pour la maintenance de l'environnement Open-Prod sur le serveur.
Désormais, les commandes liées à l'installation ou la mise à jour d'Open-Prod, des modules myfab ou de Jasper sont packagées dans l'App Manager afin d'optimiser leur enchainement et ainsi réduire le temps nécessaire pour leur exécution.
Par exemple, pour une mise à jour d'Open-Prod et des modules myfab, c'est l'App Manager qui se charge de réaliser la mise à jour de la base de données (sql-update
) une fois toutes les mises à jour terminées. Cela permet d'optimiser le temps nécessaire tout en fiabilisant le processus. En effet, au lieu de réaliser un remise à niveau de la structure de la base de données (via la commande sql-update
) à la fin de la mise à jour d'Open-Prod et une seconde à la fin de celle des modules myfab, une seule structuration est réalisée à la fin de toutes les mises à jour.
2. Accès à l'App Manager
L'App Manager est accessible depuis un terminal depuis le serveur hébergeant Open-Prod. Si vous ne savez pas vous connecter à votre serveur, vous pouvez suivre les instructions décrites ici.
Dans le cas où vous souhaitez effectuer une mise à jour sur un autre environnement serveur que celui d'Open-Prod, il faut exécuter l'App Manager depuis cet environnement. Par exemple, dans le cas où vous avez un environnement dédié au fonctionnement de Jasper et que vous souhaitez mettre à jour les rapports myfab, il faut réaliser cette mise à jour directement sur ce serveur.
Une fois connecté, ouvrir un terminal, et exécuter la commande app-manager
pour lancer l'App Manager.
Utilisation
1. Principe de fonctionnement
L'utilisation est guidée au travers des commentaires affichés tout au long de l'exécution du script. Différents menus permettent de sélectionner les modules à installer / mettre à jour. Une fois la sélection faite, le mot de passe Open-Prod sera demandé. Le script se charge ensuite de lancer toutes les commandes nécessaires et affiche le déroulé du processus au fur et à mesure dans les terminaux. Vous pouvez suivre l'exécution de ceux-ci à l'écran. En effet, pour chaque application à installer / mettre à jour, l'App Manager ouvrira un terminal pour en gérer indépendamment l'exécution.
- En cas de succès de l'exécution, le terminal concerné sera fermé automatiquement et un message de confirmation sera affiché dans le terminal initial.
- En cas d'erreur, le terminal concerné restera ouvert pour que l'utilisateur en connaisse la raison.
En résumé, il faut lancer l'utilitaire en exécutant la commande app-manager
depuis un terminal, et suivre les questions posées dans le terminal.
2. Choix proposés
Au lancement de l'App Manager, plusieurs choix sont proposés à l'utilisateur. Pour chaque applicatif, il est indiqué entre parenthèses s'il est installé ou non. Voici une description de ce ceux-ci :
- Scripts myhelp : remplace la commande command-update. Attention, cette option n'est disponible qu'après avoir réalisé la mise à jour permettant d'accéder aux fonctionnalités de l'App Manager.
- Open-Prod : récupère les dernières sources d'Open-Prod sur le Git de l'éditeur Objectif Pi, puis, met à jour l'application Open-Prod.
- Modules myfab : récupère les dernières sources de myfab sur le Git de l'éditeur myfab, puis, met à jour les modules myfab standards.
- Modules spécifiques myfab : récupère les dernières sources de myfab specific sur le Git de l'éditeur myfab, puis, met à jour les modules myfab spécifiques.
- Jasper : lance le processus d'installation complet de Jasper.
- Rapports Jasper d'Objectif Pi : déploie le catalogue des rapports Jasper standards d'Open-Prod.
- Rapports Jasper myfab : déploie le catalogue des rapports Jasper standards de myfab.
3. Synchronisation d'une base de données
Après l'installation ou la mise à jour d'Open-Prod ou des modules myfab, une restructuration de la base de données est nécessaire. L'App Manager se charge automatiquement de réaliser cette mise à niveau de la base de données en fin de processus. Il est primordial pendant cette étape de ne pas interrompre le script tant que celui-ci n'a pas rendu la main à l'utilisateur.
Attention, suite à la restauration d'une base de données ou lors de la création d'une nouvelle base de données sur cet environnement, il est uniquement nécessaire de synchroniser la nouvelle base de données avec son environnement, sans toutefois avoir besoin de mettre à jour les sources d'Open-Prod ou des modules myfab.
Pour lancer manuellement et uniquement cette restructuration des bases de données, il faut exécuter la commande sql-update
depuis un terminal.
Une restructuration de base de données n'est pas sans risque pour l'intégrité des bases. C'est pourquoi il est nécessaire d'effectuer des sauvegardes avant traitement. De plus, il faut veiller à ce que le traitement se soit bien déroulé avant de considérer celui-ci terminé et réussi.
Comme un sql-update peut prendre plusieurs minutes et être lancé sur plusieurs bases de données en même temps, il est fastidieux pour un utilisateur de scruter les messages durant l'intégralité de son traitement, ou même de parcourir les logs après traitement. La commande a donc été améliorée afin de palier à ce souci.
Fonctionnalités disponibles depuis la mise à jour de Juillet 2023 des scripts myfab.
Un fichier de log sera produit et conservé dans le répertoire « /var/log/openprod ». Le nommage du fichier suit la forme suivante : « UP-<nom de base>-<horodatage>.log ».
Le fichier vous permettra une post analyse plus aisée. De plus, le récapitulatif listera les principales erreurs et vous permettra de prendre la décision adéquate en fonction du résultat.
Pour rappel, les messages "CRITICAL" sont ceux à surveiller particulièrement : ces derniers ont la capacité d’interrompre un sql-update et sont généralement révélateurs d’un problème réel.
La deuxième priorité concerne les messages "ERRORS" : bien qu'ils n'interrompent pas un sql-update, ils peuvent néanmoins dissimuler d'autres problèmes potentiels.
Lorsque vous n'obtenez pas de message "CRITICAL", vous pouvez considérer que la mise à niveau est effectuée avec succès : les autres messages que vous pouvez rencontrer ne bloquent pas la poursuite des activités du client. Cependant, il reste fortement recommandé d'examiner attentivement les messages de type "ERRORS".