Flux de travail de développement
Ce tutoriel vous guide à travers le flux de travail recommandé pour développer Odoo sur Skysize : écrire le code en local, le valider sur un environnement staging, puis le publier 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 forfait payant ou un essai (les environnements staging nécessitent un abonnement)
Vue d'ensemble
Skysize prend en charge trois types de branches qui correspondent directement aux trois phases d'un flux de travail de développement :
| Type de branche | Objectif | Base de données | Suppression auto ? |
|---|---|---|---|
| Production | Environnement en ligne, vrais utilisateurs | Persistante | Jamais |
| Staging | Tests avant publication sur des données proches de la production | Persistante | Jamais |
| Développement | Itération rapide, tests jetables | Éphémère | Oui, voir la note ci-dessous |
Le flux recommandé est :
local machine → development branch → staging branch → production branch
Les déploiements de développement sont automatiquement supprimés environ 24 heures après le build : le conteneur est supprimé et la base de données est détruite. Cela permet de garder gratuits les environnements de fonctionnalités de courte durée. Si vous poussez à nouveau vers une branche de développement plus tard, Skysize construit simplement un nouveau déploiement vierge, votre base de données précédente n'est pas récupérée. Ne conservez jamais des données importantes uniquement dans un environnement de développement.
Étape 1 : Configurer votre environnement de développement local
Avant de toucher à Skysize, assurez-vous de pouvoir faire tourner Odoo en local. C'est ici que vous écrivez et testez initialement vos modifications.
-
Clonez votre dépôt :
git clone [email protected]:your-org/your-odoo-repo.gitcd your-odoo-repo -
Créez une branche de fonctionnalité :
git checkout -b feature/my-new-feature -
Lancez Odoo en local sur une base de données locale. Consultez la documentation Odoo pour les instructions d'installation spécifiques à votre version.
-
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 de courte durée. 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.
-
Poussez votre branche de fonctionnalité vers votre dépôt :
git push origin feature/my-new-feature -
Dans Skysize, accédez à votre projet et ouvrez l'onglet Branches.
-
Trouvez
feature/my-new-featuredans la liste des branches. -
Cliquez dessus et définissez le type de branche sur Développement.
-
Réglez Action lors de la mise à jour du code sur Nouveau build.
- Cela déploie une nouvelle instance Odoo avec une base de données vierge à chaque push.
- Utilisez ceci pour tester des fonctionnalités isolées qui ne dépendent pas de données existantes.
-
Cliquez sur Enregistrer, puis poussez un nouveau commit (ou cliquez sur Reconstruire pour déployer immédiatement le commit actuel).
-
Une fois le build réussi, ouvrez l'instance et vérifiez que votre fonctionnalité fonctionne comme prévu.
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 au niveau du code, et non aux tests avec des données réelles.
Étape 3 : Valider sur staging
Une fois que votre fonctionnalité fonctionne en développement, promouvez-la sur staging pour la tester sur une copie réaliste de vos données de production.
Créer une branche staging
-
Fusionnez (ou cherry-pickez) votre branche de fonctionnalité dans une branche staging dédiée. De nombreuses équipes utilisent une branche appelée
stagingoupre-production:git checkout staginggit merge feature/my-new-featuregit push origin staging -
Dans Skysize, ouvrez l'onglet Branches et trouvez la branche
staging. -
Cliquez sur la branche pour ouvrir ses paramètres et définissez le Type de branche sur Staging. Cliquez sur Enregistrer.
-
Réglez Action lors de la mise à jour du code sur Mettre à jour le build.
- Cela met à jour le code de l'instance en cours d'exécution à chaque push tout en préservant la base de données.
- Votre environnement staging conserve ses données entre les déploiements, ce qui vous permet de tester des flux de travail de bout en bout.
-
Cliquez sur Enregistrer, puis poussez un commit (ou cliquez sur Reconstruire) pour déployer staging pour la première fois.
Alimenter staging avec des données de production (optionnel mais recommandé)
Pour tester votre fonctionnalité sur une copie réaliste de vos données de production, restaurez une sauvegarde de production dans la branche staging :
- Ouvrez l'onglet Sauvegardes.
- Trouvez une sauvegarde récente de votre branche production (ou cliquez d'abord sur Créer une sauvegarde sur la production pour en créer une nouvelle).
- Cliquez sur Restaurer sur cette sauvegarde.
- Dans la boîte de dialogue de restauration, choisissez votre branche staging comme cible, puis confirmez.
- Attendez la fin de la tâche de restauration, puis vérifiez votre fonctionnalité sur des données réelles.
La restauration remplace la base de données de la branche cible par le contenu de la sauvegarde. Toutes les données saisies directement dans l'environnement staging seront perdues. La boîte de dialogue de restauration vous avertit si vous sélectionnez accidentellement votre branche production comme cible, ne restaurez jamais une sauvegarde de staging par-dessus la production.
Les sauvegardes sont aussi le moyen de déplacer des données entre environnements en général, vous pouvez restaurer la sauvegarde de n'importe quelle branche dans n'importe quelle autre branche du même projet.
Étape 4 : Publier en production
Une fois le staging validé, déployez en production.
-
Fusionnez vos modifications dans votre branche de production :
git checkout maingit merge staginggit push origin main -
Dans Skysize, ouvrez l'onglet Branches et cliquez sur votre branche de production.
-
Vérifiez le paramètre Action lors de la mise à jour du code :
- Mettre à jour le build : le déploiement se déclenche automatiquement à chaque push. C'est le paramètre par défaut pour la branche de production et il est idéal pour les équipes qui livrent fréquemment et souhaitent zéro étape manuelle.
- Ne rien faire : choisissez ceci si vous préférez contrôler exactement le moment où la production est mise à jour, puis déployez manuellement avec Reconstruire.
-
Surveillez le statut du déploiement. Lorsqu'il affiche running (statut du build Succès), vos modifications sont en ligne. Si une mise à jour échoue, Skysize revient automatiquement au déploiement précédent fonctionnel, aucune donnée n'est donc perdue.
Lors d'un déploiement Mettre à jour le build, Skysize met à niveau les modules personnalisés déjà installés dans la base de données. Un module que vous venez d'ajouter à votre code n'est pas installé automatiquement, après le déploiement, installez-le une fois depuis le menu Apps d'Odoo. Il est ensuite mis à niveau à chaque mise à jour.
Récapitulatif de la configuration des branches recommandée
| Branche | Type | Action lors de la mise à jour du code | Notes |
|---|---|---|---|
main | Production | Mettre à jour le build | Mise à jour automatique à chaque push |
staging | Staging | Mettre à jour le build | Mise à jour automatique, alimentez-la par une restauration de sauvegarde de production selon les besoins |
feature/* | Développement | Nouveau build | Éphémère, une par fonctionnalité |
Conseils
- Gardez le staging synchronisé : Restaurez régulièrement une sauvegarde de production récente dans le staging pour que vos tests reflètent les conditions réelles.
- Utilisez les branches de développement sans modération : Elles sont légères et se nettoient automatiquement après environ 24 heures, créez-en une par fonctionnalité ou correction de bug et laissez-la expirer.
- Protégez votre branche de production : Sur GitHub/GitLab, exigez des revues de pull request avant de fusionner dans
mainpour éviter les pushs accidentels. - Surveillez les déploiements : Consultez les logs de build (ouvrez le déploiement et cliquez sur Voir les logs) dans le tableau de bord Skysize en cas d'échec d'un déploiement. La plupart des échecs sont causés par une dépendance Python manquante ou une erreur dans le XML ou le manifeste d'un module.