Systèmes de gestion de versions décentralisés - Valiantys - Atlassian Platinum Partner

Visionnez nos Webinars à la demande | Agilité à l'échelle, IT Service Management, Cloud, Bonnes pratiques Jira, Témoignages clients... Cliquez-ici !

valiantys-logo
Back

Systèmes de gestion de versions décentralisés

L’hégémonie des célèbres CVS, Subversion ou ClearCase dans le domaine de la gestion de configuration est-elle en passe d’être révolue ? Après plusieurs années de leadership, les outils centraux de gestion de configuration sont confrontés à des problématiques de développement distribué qui les mettent à mal. L’accès à un repository central depuis les 4 coins du globe est contraint par des temps d’accès réseau pouvant devenir très longs, entrainant des pertes de productivité et de confort. Les besoins en performance induisent alors généralement la réplication des repositories à l’aide d’architectures dont la complexité ou le coût incitent de nombreuses organisations à revoir leur stratégie pour adopter de nouveaux outils dît de Gestion de Versions Distribué, « Distributed Version Control System » (DVCS) :

  • Commits locaux donc très performants
  • Mécanisme de synchronisation natif
  • Pas de downtime serveur
  • Historique complet des branches et révisions en local


Parmi différents outils disponibles, deux solutions se distinguent et deviennent les nouveaux standards de fait : Mercurial et Git, tous deux gratuits.

Développé par Linus Torvalds, le célébrissime « inventeur » du noyau Linux, GIT a les faveurs de la communauté la plus large et la plus active, principalement concentrée sur le site Git Hub.
Mercurial quant à lui touche un public plus restreint, mais dispose toutefois d’une solution de hosting en SaaS et d’une communauté non négligeable sur le site Bitbucket, ainsi que des ressources de formation sur hginit.com.

Et si la taille de la communauté GIT est plus importante, le rapport s’inverse concernant la courbe d’apprentissage. GIT fournit un jeu de nouvelles commandes complexes et nécessite motivation et expertise pour démarrer.
Mercurial est beaucoup plus proche de SVN. Les utilisateurs déjà habitués à ce « classique » pourront donc démarrer avec moins d’efforts. C’est d’ailleurs pour cette raison qu’Atlassian (qui possède désormais 4 équipes de développement à San Francisco, au Brésil, en Pologne et en Australie et qui est donc confronté de plein fouet à une organisation de développement distribuée) applique encore une fois la théorie du « eat your own dog food » en lançant un vaste plan interne de migration depuis SVN vers Mercurial.

Du côté de l’IDE les 2 outils proposent un ensemble d’intégrations avec les leaders du marché : IntelliJ, Eclipse et Visual Studio.

IDE Mercurial GIT
IntelliJ MercurialIDEA Native
Eclipse MercurialEclipse EGit
Visual Studio Visual HG GitExtensions

Comme à son habitude, Atlassian souhaite suivre les tendances méthodologiques et entretenir d’excellentes relations avec les communautés innovatrices de l’Open Source, et a donc décidé de supporter ses 2 produits en développant des intégrations avec JIRA, FishEye et Bamboo.

  • Intégration JIRA / FishEye
  • Intégration JIRA / Mercurial avec JIRA Mercurial Plugin pour JIRA 4 et 4.1, Atlassian fournit actuellement un effort important sur ce plugin.
  • Intégration JIRA / GIT à l’aide de l’extension JIRA Git Plugin depuis août 2009, compatible JIRA 3.12 et 3.13.
  • L’intégration Bamboo / Mercurial est en cours de test interne, elle sera mise à disposition dans la prochaine release, en attendant, un plugin est disponible.
  • L’intégration Bamboo / GIT est disponible via un plugin depuis début 2010, compatible avec les versions 2.2 à 2.5.

Enfin, nous avons eu un retour d’expérience concernant la migration de données depuis SVN vers Mercurial par l’équipe de développement Web Task Force d’Atlassian. Les premières tentatives effectuées avec l’outil « built-in » ConvertExtension ont causé de nombreux problèmes (freezes, plantages) ; et le premier test réussi a nécessité 31h pour 270 000 lignes de code. Très peu confiants, ils ont finalement opté pour l’utilisation de hgsubversion, avec lequel la migration test a mis 2h et s’est bien déroulée dès la première tentative. A bon entendeur… 🙂

Pour en savoir plus :

Sur le blog Atlassian :

Cet article est issu des notes que j’ai prise lors de la présentation Distributed Version Control Systems in the Enterprise de Justen Stepka au Summit Atlassian 2010, décidément riche.

Cutted Triangle

Inscrivez-vous à notre newsletter

Demande enregistrée ! Demande en cours... Ceci n'est pas un email Une erreur s'est produite

Conformément à notre politique de confidentialité, nous nous engageons à respecter vos données personnelles.

Contactez-nous

Nos consultants certifiés Atlassian seront ravis de vous répondre.

Rejoindre Valiantys

Nous sommes en train de construire un équipe extraordinaire. Vous en êtes ?

Suivez-nous

Nous utilisons des cookies pour le fonctionnement de ce site, pour améliorer son utilisation, personnaliser votre expérience et réaliser des statistiques de visite. Vous pouvez gérer les paramètres et choisir d’accepter ou non certains cookies durant votre navigation. Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Paramètres de confidentialité

Afin de faciliter votre navigation et de vous apporter le meilleur service possible, nous utilisons des cookies pour améliorer le site aux besoins des visiteurs, notamment selon la fréquentation.  Pour plus d’informations, consultez notre politique de confidentialité. Nos politique de confidentialité

Recaptcha

Google reCAPTCHA est un système conçu pour distinguer les humains des ordinateurs, de telle sorte que les bots soient incapables de remplir les formulaires de manière malveillante au nom d’un être humain.

Analytics

Utilisé pour envoyer des données à Google Analytics sur le périphérique et le comportement du visiteur. Suit l'internaute à travers les appareils et les canaux de marketing. Utilisé par Google Analytics pour diminuer radicalement le taux de requêtes. Enregistre un identifiant unique utilisé pour générer des données statistiques sur la façon dont le visiteur utilise le site.

LinkedIn

Cookies pour une publicité ciblée : Ces cookies peuvent être mis en place au sein de notre site Web par nos partenaires publicitaires. Ils peuvent être utilisés par ces sociétés pour établir un profil de vos intérêts et vous proposer des publicités pertinentes sur d'autres sites Web. Ils ne stockent pas directement des données personnelles, mais sont basés sur l'identification unique de votre navigateur et de votre appareil Internet. Si vous n'autorisez pas ces cookies, votre publicité sera moins ciblée.

Cookies "réseaux sociaux" : Ces cookies sont activés par les services proposés sur les réseaux sociaux que nous avons ajoutés au site Web afin de vous donner la possibilité de partager notre contenu avec votre réseau et vos connaissances. Ils nous permettent également de suivre votre navigation sur d’autres sites Web et d’établir un profil de vos intérêts. Cela peut avoir un impact sur le contenu et les messages affichés sur les autres sites Web que vous consultez. Si vous n'autorisez pas ces cookies, il se peut que vous ne puissiez pas utiliser ou visualiser ces outils de partage.