Aller au contenu principal

Workflow de développement

Ce tutoriel vous guide à travers le workflow recommandé pour développer Odoo sur Skysize : écrire le code en local, le valider sur un environnement de staging, puis le déployer en production.

Durée estimée : ~20 minutes (configuration initiale), puis en continu

Ce dont vous avez besoin :

  • Une branche de production déjà déployée (Déployer votre première instance)
  • Un abonnement payant ou en période d'essai (les environnements de staging nécessitent un abonnement)

Vue d'ensemble

Skysize prend en charge trois types de branches qui correspondent directement aux trois phases d'un workflow de développement :

Type de brancheObjectifBase de donnéesSuppression auto ?
ProductionEnvironnement live, vrais utilisateursPersistanteJamais
StagingTests avant mise en production, miroir de la productionPersistanteJamais
DevelopmentItération rapide, tests jetablesÉphémèreAprès 24h d'inactivité

Le flux recommandé est :

machine locale → branche development → branche staging → branche production

Étape 1 — Configurer votre environnement de développement local

Avant d'utiliser Skysize, assurez-vous de pouvoir faire tourner Odoo en local. C'est ici que vous écrivez et testez initialement vos modifications.

  1. Clonez votre dépôt :

    git clone [email protected]:votre-org/votre-depot-odoo.git
    cd votre-depot-odoo
  2. Créez une branche de fonctionnalité :

    git checkout -b feature/ma-nouvelle-fonctionnalite
  3. Lancez Odoo en local contre une base de données locale. Consultez la documentation Odoo pour les instructions d'installation spécifiques à votre version.

  4. Développez et testez vos modifications en local jusqu'à obtenir un résultat satisfaisant.


Étape 2 — Créer une branche de développement sur Skysize

Les branches de développement sur Skysize sont des environnements légers et éphémères. Elles se créent à la demande et sont automatiquement supprimées après 24 heures d'inactivité, vous pouvez donc en créer autant que nécessaire sans vous soucier des coûts.

  1. Poussez votre branche de fonctionnalité vers votre dépôt :

    git push origin feature/ma-nouvelle-fonctionnalite
  2. Dans Skysize, accédez à votre projet et ouvrez l'onglet Branches.

  3. Trouvez feature/ma-nouvelle-fonctionnalite dans la liste des branches.

  4. Cliquez dessus et définissez le type de branche sur Development.

  5. Définissez l'action Au push sur Créer nouveau.

    • Cela déploie une nouvelle instance Odoo avec une base de données vide à chaque push.
    • Utilisez ceci pour tester des fonctionnalités isolées qui ne dépendent pas de données existantes.
  6. Cliquez sur Enregistrer, puis poussez un nouveau commit.

  7. Une fois le build réussi, ouvrez l'instance et vérifiez que votre fonctionnalité fonctionne comme prévu.

remarque

Les environnements de développement utilisent des données de démonstration par défaut et ne partagent pas de données avec votre base de données de production. Ils sont destinés à la validation du code, pas aux tests avec des données réelles.


Étape 3 — Valider sur le staging

Une fois que votre fonctionnalité fonctionne en développement, promouvez-la en staging pour la tester sur une copie réaliste de vos données de production.

Créer une branche de staging

  1. Fusionnez (ou cherry-pickez) votre branche de fonctionnalité dans une branche de staging dédiée. De nombreuses équipes utilisent une branche appelée staging ou pre-production :

    git checkout staging
    git merge feature/ma-nouvelle-fonctionnalite
    git push origin staging
  2. Dans Skysize, ouvrez l'onglet Branches et trouvez la branche staging.

  3. Définissez le type de branche sur Staging.

  4. Définissez l'action Au push sur Mettre à jour.

    • Cela met à jour le code de l'instance en cours à chaque push tout en préservant la base de données.
    • Votre environnement de staging conserve ses données entre les déploiements, ce qui vous permet de tester des workflows de bout en bout.
  5. Cliquez sur Enregistrer.

Reconstruire le staging à partir de la production (optionnel mais recommandé)

Pour que le staging reflète vos données de production actuelles :

  1. Sur la branche de staging, cliquez sur Reconstruire.
  2. Skysize prendra un snapshot de votre base de données de production et le restaurera dans l'environnement de staging.
  3. Attendez la fin de la reconstruction, puis vérifiez votre fonctionnalité avec des données réelles.
attention

Reconstruire le staging remplace sa base de données par une copie de la production. Toutes les données saisies directement dans l'environnement de staging seront perdues.


Étape 4 — Déployer en production

Une fois le staging validé, déployez en production.

  1. Fusionnez vos modifications dans votre branche de production :

    git checkout main
    git merge staging
    git push origin main
  2. Dans Skysize, ouvrez l'onglet Branches et trouvez votre branche de production.

  3. Vérifiez l'action Au push :

    • Mettre à jour — le déploiement se déclenche automatiquement au push. Idéal pour les équipes qui livrent fréquemment et souhaitent zéro étape manuelle.
    • Rien — vous contrôlez quand les déploiements se produisent. Poussez le code, puis cliquez manuellement sur Déployer quand vous êtes prêt.

    Pour la production, Rien (déclenchement manuel) est le paramètre par défaut le plus sûr, car il vous laisse un moment pour confirmer avant la mise en ligne.

  4. Si vous utilisez le déploiement manuel, cliquez sur Déployer sur la branche de production une fois le push terminé.

  5. Surveillez le statut du build. Lorsqu'il affiche Succès, vos modifications sont en ligne.

remarque

Skysize exécute odoo-bin -u all lors des déploiements Mettre à jour, ce qui met à niveau tous les modules actuellement installés. Si vous avez ajouté un nouveau module à votre code, il ne sera pas installé automatiquement — vous devez toujours l'installer depuis le menu Applications d'Odoo après le déploiement.


Récapitulatif de la configuration des branches recommandée

BrancheTypeAu pushNotes
mainProductionRien (ou Mettre à jour)Déploiement manuel pour plus de sécurité
stagingStagingMettre à jourMise à jour automatique, reconstruction depuis la prod si besoin
feature/*DevelopmentCréer nouveauÉphémère, une par fonctionnalité

Conseils

  • Gardez le staging synchronisé : Reconstruisez régulièrement le staging à partir de la production pour que vos tests reflètent des conditions réelles.
  • Utilisez les branches de développement sans modération : Elles sont gratuites à créer et se suppriment automatiquement, créez-en une par fonctionnalité ou correction de bug.
  • Protégez votre branche de production : Sur GitHub/GitLab, exigez des revues de pull request avant de fusionner dans main pour éviter les pushs accidentels.
  • Surveillez les déploiements : Consultez les logs de déploiement dans le tableau de bord Skysize en cas d'échec du build. La plupart des échecs sont causés par une dépendance Python manquante ou une erreur XML dans un module.