Dans cet article nous expliquerons comment appliquer des correctifs et comment mettre à jour les produits de WSO2 avec WSO2 Update Tool.
Nous suivrons l’indice suivant:
Définitions
- Mise à jour: Il est une collection de corrections des erreurs, de nouvelles fonctionnalités, de correctifs de sécurité ou d’améliorations. Les mises à jour sont distribuées à travers les niveaux. Lorsqu’une mise à jour est appliquée à un produit, le niveau du produit est augmenté.
- Hotfix: ce sont des correctifs immédiats fournis pour résoudre les problèmes signalés par les clients. Un hotfix est livré dans un fichier zip, son application est recommandée dans les incidents critiques qui n’ont pas été corrigés dans les mises à jour précédentes.
Remarque: les commandes changent selon le système d’exploitation utilisé:
- GNU/Linux:
{WSO2_HOME}/bin/wso2update_linux
- MacOS:
{WSO2_HOME}/bin/wso2update_darwin
- Windows:
{WSO2_HOME}/bin/wso2update_windows.exe
Exigences
WSO2 Update Tool a besoin d’un accès Internet pour les adresses suivantes à partir des ordinateurs sur lesquels les produits WSO2 sont installés:
Host | Port |
gateway.api.cloud.wso2.com | 443 |
product-dist.wso2.com | 443 |
cdn.updates.wso2.com | 443 |
Préparation
Dans ce scénario, c’est la mise à jour Identity Server 5.10.0 sur un système Debian GNU / Linux 10.0 et avec la version 1.8.051 del JDK. Avant de démarrer le processus de mise à jour, il est recommandé de valider la version actuelle WSO2 Update Tool via la commande suivante qui affichera la version installée:
{WSO2_HOME}/bin/wso2update_linux version
Nous nous connectons pour confirmer s’il existe une version plus récente de l’outil et si oui, la mettre à jour:
{WSO2_HOME}/bin/wso2update_linux -u user@user.com -p password123
Remarque: les paramètres -p et -u sont optionnels.
La dernière version de l’outil peut être téléchargée manuellement à partir de l’URL suivante: https://product-dist.wso2.com/downloads/update-tool/release/update.zip
Passer à la version 2.0
Pour effectuer une mise à jour via le nouvel outil WSO2, il est nécessaire de changer de modèle, ce qui précède implique la mise à jour du produit WSO2 avec le dernier horodatage disponible
Nous confirmons qu’il y a des mises à jour disponibles pour notre produit WSO2
{WSO2_HOME}/bin/wso2update_linux check
Remarque : effectuer cette action supprimera le dossier wum et les fichiers trouvés dans ce dossier
{WSO2_HOME}/updates/wum
À cause qu’il vient de la version précédente (WUM) le niveau du produit sera -1 (wso2is-5.10.0.0) le dernier niveau disponible sera également affiché, jusqu’à présent 49 ainsi que le nombre de mises à jour disponibles (193) et le nombre de mises à jour critiques (8)
L’étape suivante consiste à mettre à jour le produit WSO2 avec le dernier horodatage disponible à l’aide de l’outil WUM.
Une fois la mise à jour terminée, nous mettons à jour le produit avec le dernier niveau disponible à l’aide de l’outil de mise WSO2 Update Tool.
{WSO2_HOME}/bin/wso2update_linux -b /datos/backup/ -u user@user.com
Remarque : Si le modèle n’est pas mis à jour, des erreurs peuvent se produire lors de la recherche ou de l’exécution de mises à jour
Mettre à jour les produits
Connaître le niveau actuel du produit
{WSO2_HOME}/bin/wso2update_linux check
Valider si des mises à jour sont disponibles
{WSO2_HOME}/bin/wso2update_linux check
Mise à niveau vers un niveau spécifique (2):
{WSO2_HOME}/bin/wso2update_linux -l 2 -b /datos/backup/
Mettre à jour les produits (WUM diff)
Dans le nouveau modèle de mise à jour, il existe une version similaire à wum diff qui permet de créer une mise à jour pour la mettre à jour ultérieurement:
Créer une mise à jour qui commence au niveau 1 et se termine au niveau 2
-e, –end-level string Fin du niveau de mise à jour
-s, –start-level string Début du niveau de mise à jour
{WSO2_HOME}/bin/wso2update_linux create-update -s 1 -e 2
Appliquer une mise à jour créée précédemment
{WSO2_HOME}/bin/wso2update_linux apply-update <ruta_update>
Revenir à version précédente
A l’intérieur du dossier / data / backup / backup (spécifié avec le paramètre -b) les dossiers avec les sauvegardes créées seront créés:
Revenir à version précédente et restaurer la dernière sauvegarde générée
{WSO2_HOME}/bin/wso2update_linux --revert
HOTFIX
Un hotfix es un correctif c’est-à-dire qu’il est une mise à jour fournie par WSO2 pour résoudre les incidents critiques signalés par les clients via un ticket, l’équipe WSO2 fournira un fichier .zip
Pour appliquer le correctif, la commande suivante doit être exécutée en indiquant le chemin du fichier zip
{WSO2_HOME}/bin/wso2update_linux apply-hotfix <HF_zip>
Une fois le correctif publié dans un niveau, il est recommandé de désinstaller le correctif et de mettre à jour le produit au niveau indiqué:
{WSO2_HOME}/bin/wso2update_linux --revert-hotfix
Portail de mises à jour
Lors de l’installation d’une mise à jour sur un produit WSO2, elle sera enregistrée dans le portail de mise à jour WSO2: https://updates-info.wso2.com
Les produits installés sont affichés dans le menu « Browse Account », avec la dernière mise à jour installée et la mise à jour recommandée:
Dans le menu « Update levels », vous pouvez rechercher les mises à jour disponibles par produit et niveau
La sélection de « Download » génère un rapport au format PDF avec les mises à jour sélectionnées, les instructions, les fichiers modifiés ou supprimés, etc.
Lors de la sélection d’une mise à jour, des informations sur le problème résolu s’affichent.
Résoudre des conflits
S’il y a un fichier tel que css, js, jsp, etc. qui a été modifié, il y aura un conflit lors de l’application d’une mise à jour, une fusion sera donc nécessaire.
Remarque : WSO2 recommande de NE PAS modifier les fichiers Nota: WSO2 jar et car originaux
WSO2 recommande de conserver la même indentation (espaces / tabulations) dans les fichiers jag, js ou json, sinon des conflits peuvent survenir.
Dans l’exemple suivant, les fichiers wso2-default.min.css et pom.properties ont été modifiés dans le point de terminaison d’authentification, lors de l’exécution d’une mise à jour, il y a des conflits avec les fichiers.
Lorsqu’il y a des conflits lors de la tentative de mise à jour d’un produit, 3 versions du fichier en conflit seront créées Ex:
- wso2-default.min.css: fichier actuel avec les modifications installées dans le produit WSO2
- wso2-default.min.css.new: nouvelle version du fichier avec les modifications téléchargées au dernier niveau
- wso2-default.min.css.original: version originale du fichier sans modifications ni les dernières mises à jour disponibles
Un nouveau fichier doit être créé wso2-default.min.css.final il est recommandé qu’il contienne les nouvelles modifications du fichier .new, ces modifications peuvent être obtenues via un diff
diff wso2-default.min.css.new wso2-default.min.css.original
Finalement, la mise à jour doit être exécutée à nouveau avec le paramètre –continue
Cela supprimera les fichiers .new, .original et .final en remplaçant le fichier wso2-default.min.css par wso2-default.min.css.final.
Docker
WSO2 Update Tool permet de créer une image docker avec les mises à jour et les modifications apportées de manière plus simple à l’aide de la commande suivante :
{WSO2_HOME}/bin/wso2update_linux create-docker
Erreurs frequentes
WSO2 Update Tool remplacera les modèles modifiés (* .j2), en supprimant toutes les modifications ajoutées. Lors de l’application de la mise à jour, il n’y aura pas de conflit avec les fichiers, donc aucune erreur n’est affichée ou la suppression des modifications est notifiée.
Si WSO2 Update Tool ne peut pas trouver un fichier qui a été supprimé du produit (par exemple wso2-default.min.css), il ne permettra pas à la mise à jour de se poursuivre. Cela renverra un conflit jusqu’à ce que le fichier existe.
WSO2 Update Tool ne prend pas en charge les architectures de bras.
Si vous voulez savoir comment Chakray, CONTACTEZ-NOUS!