2012 06-10   Techno

Gérer les branches avec Mercurial

En passant de SVN à Mercurial et également car l’équipe de développement a triplé en l’espace de quelques semaines, nous avions envie d’instaurer un nouveau modèle pour gérer les nombreux développements en cours.

Nous nous sommes inspiré de l’excellent article de Vincent Driessen « A successful Git branching model » qui présente un modèle avec Git, mais qui peut également s’appliquer à Mercurial. Et voici le résultat :

  • La branche Master suit les développements en cours, c’est la branche de base pour les nouveaux devs.
  • Les branches Dev sont les développements en cours.
  • Les branches Hot Fixes sont de rapides corrections de bugs.
  • Les branches release sont les branches en cours de recette.
  • La branche prod est bien sur la version stable du site.

Ce système permet bien sûr d’effectuer plusieurs développements en parallèle, mais également plusieurs recettes.

Workflow

  • Chaque développeur travaille sur sa propre branche.
  • Une fois le développement terminé, il est une première fois recetté par le développeur.
  • Il est ensuite mergé dans la branche Master pour une recette plus poussée sur le développement concerné.
  • Après validation, la branche master est mergée avec la branche release pour une recette de non-régression du site complet en préproduction. La branche master peut également contenir d’autres développements.
  • Une fois le test de non-régression passé, la branche release est mergée avec la branche prod.

Note
Il est important de conserver un train de livraison constant afin de ne pas faire vieillir certaines branches de développement qui seront par la suite difficiles à intégrer dans le master (nombreux conflits).

La vision côté développeur

Pages :«1234»

A Propos

Bienvenue sur ma page! 10 ans d’expérience dans la gestion de projets m’ont permis de développer un véritable savoir-faire technologique et de concrétiser une double compétence management et technique. Grâce à ma participation à la conception de plusieurs projets, j'ai appris à coordonner des équipes pluridisciplinaires en intégrant les aspects marketing, techniques et administratifs d'un projet. Voir mon CV.

Hera Process

Hera est une nouvelle méthode pour gérer des projets web. Contrairement à d’autres processus plus lourds, Hera fournit une solution clé en main avec des exemples concrets et des modèles de documents. Hera est un processus libre sous la licence Creative Commons Attribution. En savoir plus sur Hera Process.