Aller au contenu principal

Passer à une nouvelle version d'Odoo

Skysize n'exécute pas la mise à niveau lui-même. Vous mettez à niveau une copie de votre base avec un outil dédié, vous adaptez votre code personnalisé, puis vous importez le résultat sur votre branche. Ce guide couvre le passage de votre version actuelle à la suivante, avec un test préalable sur staging.

:::danger Ne modifiez pas le champ Version d'Odoo pour mettre à niveau Modifier Version d'Odoo dans les Paramètres principaux d'une branche ne met pas la base à niveau. Le déploiement est supprimé et une nouvelle installation démarre avec une base neuve et vide. :::


1. Choisir un outil de mise à niveau​

ÉditionOutilFonctionnement
EnterpriseService de mise à niveau d'OdooVous envoyez un dump à Odoo et recevez un dump mis à niveau. Un abonnement Enterprise valide est nécessaire.
CommunityOCA OpenUpgradeVous lancez la migration vous-même, sur votre propre machine, une version à la fois. Par exemple, passer de 17.0 à 19.0 revient à faire 17.0 vers 18.0, puis 18.0 vers 19.0.

Vérifiez que la version cible est disponible sur Skysize : elle doit figurer dans la liste Version d'Odoo de votre branche. Une sauvegarde d'une version que la plateforme ne propose pas est refusée à l'import.


2. Adapter votre code personnalisé​

Mettez à jour vos modules personnalisés pour la version cible dans une branche Git séparée, et ajoutez les nouveaux paquets Python à requirements.txt. Les modules tiers doivent eux aussi exister pour la version cible.

Si vous n'avez pas de code personnalisé, passez à l'étape suivante.


3. Tester sur une branche de staging​

  1. Créez une copie de la production : dans l'onglet Déploiements, cliquez sur Télécharger la sauvegarde, choisissez Dump exact de la base de données et Avec Filestore, puis cliquez sur Créer le dump. Une fois prêt, téléchargez-le depuis l'onglet Sauvegardes. Voir Gérer les sauvegardes.
  2. Lancez l'outil de mise à niveau sur ce fichier. Sur le service de mise à niveau d'Odoo, demandez une mise à niveau de test.
  3. Ouvrez le .zip mis à niveau et vérifiez son contenu :
    • manifest.json indique la version cible.
    • filestore/ est présent. S'il manque, copiez-le depuis la sauvegarde que vous avez téléchargée.
  4. Faites pointer une branche de staging vers la branche Git qui contient votre code adapté.
  5. Importez le fichier mis à niveau sur cette branche de staging. Voir Importer une sauvegarde Odoo existante.

L'import lit la version dans manifest.json et y aligne la branche : vous n'avez pas à changer la version vous-même. Une restauration sur une branche de staging est neutralisée automatiquement : elle ne peut donc ni envoyer d'emails ni appeler d'intégrations en direct.

Testez ensuite sur staging :

  • Les utilisateurs peuvent se connecter et Applications affiche les modules installés attendus.
  • Le log d'exécution ne contient aucune erreur de module manquant.
  • Les pièces jointes et les rapports PDF s'ouvrent.
  • Vos principaux processus métier fonctionnent, en particulier ceux qui reposent sur du code personnalisé.

Corrigez les problèmes dans votre code, poussez, et recommencez jusqu'à obtenir un test propre. Un problème dans les données mises à niveau relève de l'outil de mise à niveau : relancez-le, ou contactez Odoo pour le service de mise à niveau.


4. Mettre à niveau la production​

Prévoyez une fenêtre de maintenance, car tout ce qui est saisi après la sauvegarde finale est perdu.

  1. Annoncez le début de la fenêtre et demandez aux utilisateurs d'arrêter de travailler dans Odoo.
  2. Réglez Action lors de la mise à jour du code sur Ne rien faire sur la branche de production, pour que la fusion du code adapté ne lance pas de build sur l'ancienne version.
  3. Fusionnez le code adapté dans la branche Git de production.
  4. Créez un dump final comme à l'étape 3, avec Dump exact de la base de données et Avec Filestore, puis téléchargez-le.
  5. Mettez ce fichier à niveau. Sur le service de mise à niveau d'Odoo, demandez cette fois une mise à niveau de production : les mises à niveau de test sont neutralisées et ne doivent pas être mises en service.
  6. Importez le fichier mis à niveau sur la branche de production. Une restauration en production n'est pas neutralisée.
  7. Suivez la progression avec Voir les logs, puis refaites les vérifications de l'étape 3.
  8. Remettez Action lors de la mise à jour du code à sa valeur précédente.

Le déploiement actuel continue de tourner pendant la restauration, et n'est remplacé qu'une fois que le nouveau a passé son contrôle de santé. Si la restauration échoue, la production reste sur l'ancienne version.

:::note Limite de taille d'envoi Les imports sont limités à 2 Go par fichier en hébergement géré. Si votre fichier mis à niveau est plus volumineux, contactez le support avant la fenêtre de maintenance. Voir Importer une sauvegarde Odoo existante. :::


Revenir à l'ancienne version​

Conservez le dump final de l'étape 4 jusqu'à être sûr de la mise à niveau.

Pour revenir en arrière, annulez la fusion du code sur la branche Git de production, puis importez ce dump sur la branche de production. La branche revient automatiquement à l'ancienne version. Tout ce qui a été saisi depuis la mise à niveau est perdu.