samedi , 22 septembre 2018
Home » Services Hébergement Cloud » GitHub vs Bitbucket vs GitLab : une bataille épique pour l’esprit de développeur

GitHub vs Bitbucket vs GitLab : une bataille épique pour l’esprit de développeur

GitHub, Bitbucket et GitLab comprennent de nombreux bonus sur Git. Lequel devriez-vous choisir ?

C’est le genre de méta-notion qui fait dire aux philosophes de premier cycle, « Whoa ! » Les logiciels sont tellement compliqués aujourd’hui que nous devons écrire des logiciels pour nous aider à comprendre et à créer les logiciels dont nous avons besoin. Le code engendre du code qui engendre plus de code …

Le référentiel de code nommé Git est l’outil préféré de tout le monde pour la gestion de logiciels, mais même ce logiciel open source ne suffit pas. La plupart des programmeurs et des équipes auxquelles ils appartiennent sont désormais associés à des versions en ligne de Git qui ajoutent de nombreuses couches supplémentaires d’analyse et de présentation pour permettre de parcourir le vaste marais qu’est notre code.

Il y a maintenant trois grands concurrents pour trouver le meilleur endroit pour ranger vos expressions régulières, vos fonctions anonymes et vos flashes de génie récursifs : GitHub, Bitbucket et GitLab. Tous sont en concurrence pour être le meilleur endroit pour stocker votre source.

Est-ce que l’un est meilleur que l’autre ? Quel est le meilleur endroit pour votre équipe ? Allons comparer les uns aux autres et voyons lequel règne.

GitHub est le plus grand

Peut-être parce que c’était le premier grand site Web spécialisé dans l’hébergement de référentiels Git. Peut-être à cause de ses bons travaux dans la communauté open source. Dans tous les cas, GitHub reste en tête dans ce domaine si vous utilisez la métrique du volume déclaré de code. GitHub revendique 28 millions d’utilisateurs et 85 millions de référentiels. Bitbucket rapporte six millions d’utilisateurs, et GitLab reste dans le mystère et n’a pas répondu à la question.

Certains pensent que c’est important. Les développeurs open source qui aiment passer d’un projet à l’autre peuvent utiliser un seul identifiant et lier l’ensemble de leur travail. Tout le monde peut suivre les développeurs sur GitHub, comme les amoureux des chats suivent les créateurs des meilleures vidéos sur YouTube. Les effets de réseau qui semblent dominer Internet poussent GitHub en tête.

D’autres ne sont pas si sûrs. Oui, ils aiment relier leur code public, mais beaucoup de gens ne veulent pas lier le travail qu’ils font aux clients. Cela devrait être séparé et non public. Dans ce contexte, les effets de réseau ne valent pas grand-chose.

Bitbucket et GitLab sont moins chers

Les trois services offrent tous de nombreuses options gratuites, mais ils permettent aux développeurs, généralement des professionnels, d’accueillir des projets privés. GitHub commence à 7 $ par mois par développeur. Bitbucket commence à 2 $ par mois et GitLab à 4 $ par mois.

Mais, ces chiffres ne sont que des repères, car il y a de fortes chances que vous souhaitiez effectuer une mise à niveau. Un meilleur niveau à Bitbucket coûte 5 $ par mois. GitLab a une version premium qui coûte 19 $ par mois – et vous devez payer par an pour profiter de ce prix.

Il y a presque certainement des rabais cachés pour les entreprises avec des équipes plus importantes, ce qui rend la comparaison difficile. Vous pensez peut-être que l’hébergement Git est un produit de base, mais ces sociétés ont trouvé des moyens d’ajouter autant de fonctionnalités supplémentaires que votre tête commence à tourner lorsque vous commencez à comparer ce que vous obtenez pour votre argent.

Bitbucket et GitLab permettent des référentiels privés illimités

Ce que vous obtenez gratuitement est extrêmement différent. Bitbucket et GitLab vous permettent de stocker gratuitement vos propres référentiels privés. Vous ne commencez à payer que lorsque votre équipe grandisse et devienne plus professionnelle. GitHub stockera vos projets gratuitement si vous êtes un étudiant ou si vous rendez les projets publics. C’est génial pour l’open source, mais pas pour tous vos projets privés.

Ces niveaux gratuits peuvent être assez généreux. Bitbucket permet à de petites équipes de cinq collaborateurs au maximum de travailler sans frais. GitLab permet un nombre illimité de collaborateurs de travailler.

Il est à noter que ces prix et niveaux sont pour la version hébergée dans le cloud. Si vous voulez vous héberger, cela peut être moins cher. Il existe également des plans académiques et des versions communautaires open source qui sont très généreux.

Bitbucket et GitLab ont une intégration continue

Ces entreprises se développent non seulement en stockant le code, mais en le construisant et en le déployant également. GitLab a intégré l’intégration continue basée sur Jenkins, puis l’a ajouté au support de déploiement et à la surveillance dans un cercle vertueux. Vous pouvez valider votre code, le déployer, le surveiller, puis commencer à planifier le prochain ensemble de modifications sans quitter GitLab.

De même, Bitbucket propose Pipelines, un outil de construction et de déploiement similaire qui fait la même chose en quelques clics. Peut-être que cela n’offre pas autant de surveillance, mais il est étroitement intégré au cloud d’Amazon.

GitHub vous permet d’utiliser votre propre serveur d’intégration continue

Les utilisateurs de GitHub construisent-ils leur code ? Bien sûr. Beaucoup utilisent des outils tiers tels que CircleCI ou Travis CI qui sont déclenchés par des commits sur GitHub. Certains hébergent même leur propre version de Jenkins, disponible à partir d’un référentiel open source hébergé sur GitHub.

Bien entendu, les outils tiers ne sont pas tous les mêmes, mais ils accomplissent à peu près la même chose. Et parfois, la séparation peut être un avantage si vous voulez faire les choses légèrement différemment.

Il est intéressant de noter que rien ne vous empêche de déployer votre propre solution d’intégration continue avec Bitbucket ou GitLab. Ils vérifient simplement le code comme tout autre client Git.

GitLab vous permet de développer en ligne

Ce qui a commencé comme un outil pour vous permettre de parcourir le code statique se transforme lentement en une plate-forme de développement à part entière. L’interface de GitLab devient de plus en plus complexe et commence à se rapprocher de ce que l’entreprise appelle un environnement de développement intégré ou IDE. Ce n’est pas aussi sophistiqué que certains monolithes centrés sur l’ordinateur de bureau, comme Eclipse ou Xcode, qui offrent un débogage intégré, mais cela ne signifie pas que vous ne pouvez pas l’utiliser pour effectuer des développements de plus en plus sophistiqués avec des commits multi-fichiers et propres.

GitHub et Bitbucket ont tous les deux des versions plus simples qui vous permettent de modifier vos fichiers en ligne, puis de valider le résultat. Ils sont meilleurs pour les retouches et les corrections rapides.

Bitbucket a une recherche sensible au code

Cela peut paraître une petite chose, mais l’algorithme de recherche de Bitbucket comprend plusieurs des principaux langages, ce qui permet de classer les résultats. La définition d’une fonction ou d’une variable apparaît en haut, ensuite les utilisations. Si vous essayez de déterminer ce que font certains mots clés, vous n’avez pas à parcourir les pages de résultats pour trouver la réponse.

Bitbucket vient de la même société que Jira

Jira est l’un des principaux outils pour organiser le processus de développement en suivant les tickets et en tenant les équipes au courant de qui fait quoi à quel référentiel et quand elles le terminent. Jira peut être intégré à tous, mais appartient à Atlassian, ce qui garantit que Jira fonctionne bien avec Bitbucket.

GitHub et GitLab ont tous les deux leurs propres outils de suivi des problèmes intégrés au flux de travail et qui font à peu près la même chose. Pour plus d’avantages, les utilisateurs de GitHub et de GitLab peuvent se tourner vers Jira ou tout autre outil similaire.

GitLab est open source

Si vous n’aimez pas une partie particulière de GitLab, vous pouvez simplement télécharger le code source de Ruby, le modifier et l’héberger vous-même. Il est open source et n’attend que vous pour le décomposer. GitHub propose quelques outils nécessaires dans ses référentiels, et Atlassian offre un soutien généreux à tous les projets open source utilisant des licences approuvées. Mais, GitLab vous donne le code brut pour toute la plateforme dans une édition communautaire.

Il existe plusieurs autres projets de serveur Git open source, comme Gitblit, écrit en Java, Allura, écrit en Python, et Gogs, écrit en Go. Mais, vous devrez tous les héberger.

GitLab est étroitement intégré à Google Cloud

Vous n’avez pas besoin d’utiliser Google Cloud avec GitLab. GitLab GitLab simplifie les choses en s’intégrant au moteur de recherche Google Kubernetes. Quelques clics suffisent pour déplacer votre code dans un cluster de conteneurs en cours d’exécution. Même si vous n’utilisez pas le moteur de recherche Google Kubernetes, GitHub aime toujours travailler avec Kubernetes. Si vous effectuez un déploiement sur un cluster Kubernetes, vous pouvez tout surveiller – environnements CI, déploiements, modules et métriques Kubernetes – directement depuis GitLab.

Bitbucket s’intègre à AWS

Encore une fois, vous pouvez toujours déployer votre code où vous voulez, mais un addon Bitbucket dans Atlassian Marketplace transmettra votre code dans un bucket Amazon S3 et utilisera AWS CodeDeploy pour l’exécuter sur EC2. Tout ce que vous avez à faire est de le configurer une fois et il sera prêt.

Bitbucket a beaucoup d’extensions

L’application AWS CodeDeploy n’est pas la seule option sur le marché d’Atlassian. À ce jour, il y a 304 applications écrites par des tiers pour étendre Bitbucket. Certains ajoutent des fonctionnalités telles que des notifications ou des graphiques de commits, tandis que d’autres aident à gérer le projet en suivant le flux de travail. Si vous vous sentez autoritaire, vous pouvez installer le plugin Commit Policy qui examine les messages de commit pour vous assurer qu’ils mentionnent les problèmes des numéros et autres détails. Si vous ne voyez pas ce que vous voulez sur le Marketplace, vous pouvez écrire le vôtre.

Git (plain) est gratuit et privé

Certains ne voudront utiliser aucune de ces options de luxe. Git est un outil de ligne de commande assez simple avec de nombreuses commandes pour explorer davantage les référentiels eux-mêmes. Vous pouvez diffuser, extraire et suivre le code vous-même à partir de la ligne de commande. Si vous maîtrisez la mémorisation des instructions en ligne de commande et que vous ne voulez pas de beaux affichages de code, de diffs ou autres, basés sur le Web, alors le vieux Git vous servira bien.

Utiliser deux ou tous les trois !

Cela peut sembler exagéré, mais il n’y a aucune raison de choisir un seul. Git facilite la diffusion des commits en amont, et il n’y a aucune raison de ne pas pouvoir en ajouter plusieurs en amont. Si vous avez besoin des fonctionnalités de deux ou trois de ces plates-formes, vous pouvez simplement configurer vos référentiels pour qu’ils les transmettent à tous. Si vous êtes chanceux, vous pouvez rester dans les niveaux gratuits. Et si vous ne l’êtes pas, ils ne sont pas trop chers.

À lire aussi

13 APIs que chaque développeur doit connaître

De l’IA à l’AR en passant par la transportation et la téléphonie, ces APIs Web …