Bitbucket : l'outil Git de gestion de projet et de livraison continue

Bitbucket : l'outil Git de gestion de projet et de livraison continue

Conçu par Atlassian, Bitbucket recouvre gestion de projet logiciel, planification, collaboration autour du code, et intégration et livraison continus (CI/CD). Il s'appuie sur Git pour la gestion des versions.

Bitbucket, c'est quoi ?

Créé en 2008, Bitbucket est un service SaaS (Software as a Service), rebaptisé depuis Bitbucket Cloud, qui est bien plus qu'un simple outil de gestion de versions logicielles basé sur les systèmes open source de contrôle de révisions Git et Mercurial. Edité par la société australienne Atlassian, il englobe également un espace de gestion de projet, un gestionnaire de planification, un environnement de collaboration autour du code source, mais aussi des fonction de test et de CI/CD, pour intégration et livraison continus. 

En cas de besoins, Bitbucket peut s'adosser aux autres outils commercialisés en parallèle par Atlassian : Bamboo pour l'intégration continue, Confluence pour le travail collaboratif, Crucible pour gérer les revues de code, Fisheye pour le contrôle de révision (via un moteur de recherche) ou encore Jira et Trello pour la gestion de projet.

Equipé d'une interface graphique intuitive, Bitbucket se démarque par sa flexibilité qui lui permet de s’adapter aux besoins des petites structures comme de ceux des multinationales. Il se distingue notamment par son déploiement à large couverture, ses capacités de stockage de fichiers volumineux et ses processus d’authentification avancés.

Comment téléchargez Bitbucket (Server) ?

Si vous désirez gérer directement l'hébergement et la maintenance de l'outil, il est possible de télécharger un serveur Bitbucket, voire l'environnement Bitbucket Data Center. Une offre qui, comme son nom le laisse présager, permet de bénéficier de l'application sur un cluster de serveurs, et non sur un serveur unique. 

Alors que Bitbucket Server passe par l'acquisition d'une licence perpétuelle, Bitbucket Data Center est tarifé sous la forme d'un abonnement annuel incluant évidemment les mises à jour et le support pendant la période (voir le détail sur le site d'Atlassian).

Bitbucket fédère le code source de plusieurs projets de développement, les pull requests, les commits, les branches des projets, les pipelines de développement... © Capture Atlassian

Comment utiliser Bitbucket ?

Bitbucket est disponible sous la forme d'un service cloud managé (Bitbucket Cloud). Il se décline en trois gammes en fonction de l'ambition du projet, dont une est gratuite. Comme indiqué, l'application peut néanmoins s'installer en local via Bitbucket Datacenter (qui remplace l'offre Bitbucket Server).

Sur son site, Atlassian propose un guide complet pour découvrir et prendre en main Bitbucket. La mise en œuvre des offres Bitbucket Server et Bitbucket Data Center se veut rapide et relativement simple. Mais évidement, la version cloud est encore plus simple à utiliser. Pour migrer de Bitbucket Server ou Bitbucket Datacenter à Bitbucket Cloud, Atlassian propose un assistant : Bitbucket Cloud Migration Assistant.

Bitbucket : tutoriels

Voici une série de tutoriels pour bien démarrer :

Comment Bitbucket intègre-t-il Git ?

Bitbucket repose historiquement sur l'outil open source de build Git. Il permet par conséquent de créer aisément un repository (ou dépôt de code) dans Git. Pour ce faire, il suffit de cliquer sur l'icône + dans sa barre de tâches principale. Bitbucket fait alors apparaître une boîte de dialogue qui s'intitule "Créer un nouveau repository". On y sélectionnera ensuite Git. Mais on pourra aussi opter pour l'outil de build Mercurial. Il est par ailleurs recommandé de ne pas décocher dans un premier temps la case "Il s'agit d'un repository privé" qui apparaît en dessous. 

Hébergé sur un serveur Bitbucket ou sur Bitbucket Cloud, le repository en question pourra accueillir les fichiers et commits du projet, et orchestrera les versions de développement... Le tout pourra ensuite être cloné du serveur Bitbucket ou de  Bitbucket Cloud vers un poste de développement local (voir l'animation ci-dessous). Les deux environnements seront ensuite synchronisés. 

Bitbucket permet de cloner un repository sur un poste local. © Capture Atlassian

Bitbucket est-il gratuit ou payant ?

Atlassian offre gratuitement Bitbucket Server aux projets open source répondant à certains critères et aux organisations à but non lucratif, non gouvernementales, non universitaires, non commerciales, apolitiques et laïques. Pour les clients universitaires et commerciaux, le code source complet est disponible sous "une licence source développeur".

Quant à Bitbucket Cloud, il est gratuit jusqu'à 5 utilisateurs et 50 minutes de build par mois via Bitbucket Cloud Free. Une offre standard (Bitbucket Cloud Standard) est commercialisée par Atlassian 3 dollars par utilisateur et par mois pour 2 500 minutes de build mensuels, et une offre haute de gamme (Bitbucket Cloud Premium) à 6 dollars par utilisateur et par mois pour 3 500 minutes de build. Le tout pour un nombre d'utilisateurs illimités. Sachant qu'en fonction des besoins 1 000 minutes de build mensuelles peuvent être ajoutées pour 10 dollars par mois. 

Comparatif des trois offres de Bitbucket Cloud
  Bitbucket Cloud Free
Tarif Gratuit 3 dollars par utilisateur et par mois 6 dollars par utilisateur et par mois
Limite d'utilisateurs
Jusqu'à cinq utilisateurs
Illimité
Illimité
Minutes de build
50 min/mois
2 500 min/mois
3 500 min/mois
Stockage de fichiers volumineux Git
1 Go
5 Go
10 Go
Dépôts privés illimités
Intégration à Jira Software
Intégration Trello
CI/CD
Réviseurs de pull request illimités
Code Insights
3 intégrations
Illimité
Illimité
Vérification des merges
Contrôles des merges obligatoires
 
 
Autorisations de déploiement
 
 
Mise en liste verte des IP
 
 
Vérification en deux étapes obligatoire
 
 
Mise en miroir intelligente
 
 
Support Standard

Bitbucket API

Bitbucket est équipé d'une API. Elle est dessinée pour automatiser certaines tâches, intégrer les données issues de Bitbucket à d'autres applications, gérer le développement via Bitbucket d'applications mobiles ou desktop, ou encore doté l'outil d'une interface graphique personnalisée (en s'adossant à Connect framework). La documentation de cette Bitbucket API est disponible sur le site de l'éditeur :

Comment utiliser un Bitbucket Pipeline ?

La fonctionnalité Bitbucket Pipeline est proposée dans la version cloud de la solution. Bitbucket Cloud recouvre ainsi la gestion de l'intégration et de la livraison continus (CI/CD). Les pipelines sont activables en quelques clics. Le cloud automatise le paramétrage des couches basses. "Vous n'avez pas de serveur à gérer, de dépôt à synchroniser, ni de gestion des utilisateurs à configurer", précise Atlassian. "Vous utilisez une logique de configuration as code pour gérer et configurer votre infrastructure, et Bitbucket Pipes pour créer des workflows automatisés."

En aval, Bitbucket Cloud s'intègre à Jira pour offrir une visibilité du backlog au fur et à mesure des intégrations et des déploiements, une visibilité sur l'état des builds et sur les tickets Jira correspondant à chaque mise en production.

Bitbucket est doté d'une console graphique pour modéliser les pipelines de mise en production. © Atlassian

Comment sécuriser Bitbucket grâce au Bitbucket SSH ?

Bitbucket prend en charge le protocole Secure Shell (SSH) pour éviter les attaques dite de man-in-the-middle qui pourrait intercepter un flux entre le Bitbucket installé sur le poste du développeur et le services Bitbucket en mode cloud. Pour bénéficier d'un ce tunnel isolé, on pourra recourir à une paire de clés d'authentification qui protégera les échanges contre les attaques extérieures. Une clé dite privée sera stockée par le développeur sur son ordinateur. Une seconde clé, dite publique, sera, elle, chargée sur Bitbucket. 

Il s'agit là de la procédure de base. Pour plus de sécurité, une clé supplémentaire pourra être générée en passant par Git ou Mercurial (voir le processus à suivre sur le site de Bitbucket).

Comment utiliser Bitbucket avec Jenkins ?

Jenkins est un outil Java d’intégration continue disponible en open source. En lien avec Bitbucket, son utilisation permet de réaliser essentiellement des tests unitaires et de contrôler l’intégrité du code. A terme, l'association de Bitbucket et Jenkins a pour objectif de proposer un mode de déploiement plus complexe, réduisant les interruptions de service lors de la mise en production.

Bitbucket vs GitHub

Avec une recherche sémantique plus pertinente aux côtés de ses intégrations à Jira, Opsgenie ou Trello, Bitbucket se révèle plus souple que GitHub. De plus, il offre une gestion des permissions plus fines, au niveaux des branches de développement. Pour ne rien gâcher, ses prix sont nettement plus attractifs. Avec à la clé des outils d’intégration et de livraison en continues proposés par défaut.

Bitbucket vs GitLab

GitLab est une plateforme de built logiciel reposant sur Git. Développé par GitLab Inc, il recouvre suivi des bugs, intégration continue et livraison continue (CI/CD). Des fonctionnalités que propose également Bitbucket. A la différence de GitLab, ce dernier s'intègre à Jira, l'application de gestion de projet d'Atlassian. En plus, il inclut un mode de recherche sensible à la syntaxe du code. 

Bitbucket vs Sourcetree

Bitbucket va de la planification de projet à la collaboration autour du code en passant par la gestion des tests et des déploiement, le tout via des repositories Git. Les développeurs s'orientent vers Bitbucket parce qu'il offre une excellente intégration à Jira, une CI/CD intégrée, sans oublier sa gratuité jusqu'à 5 utilisateurs en mode cloud. 

SourceTree n'est pas comparable. Beaucoup plus simple, cette application se limite à un logiciel pour ordinateur (Mac et Windows) doté d'une interface graphique pour piloter Git et Mercurial. Il permet de gérer ses repositories et les héberger localement.

Bitbucket et Atlassian

Bitbucket est édité par la société australienne Atlassian. Un éditeur qui s'est donné pour mission d'outiller le DevOps et les méthodes agiles. Comptant 3 000 salariés à travers le monde, Atlassian revendique plus de 130 000 clients, parmi lesquels figurent ArianeGroup, Audi, le Canton de Genève, Coca Cola, Marks & Spencer, la NASA, Nestlé, Pfizer ou encore Twitter. Lancé en 2002, Atlassian est entré New York Stock Exchange en 2015. Une opération qui lui a permis de lever 462 millions de dollars