Bitbucket is een Git-platform van het bedrijf Atlassian, geïntegreerd met Jira, Confluence en andere tools van het ecosysteem. Bitbucket biedt hosting van Git-repositories, ingebouwde CI/CD via Bitbucket Pipelines en krachtige tools voor codebeoordeling. Volgens gegevens van Atlassian, 2024 gebruiken meer dan 10 miljoen ontwikkelaars en 800.000 teams wereldwijd Bitbucket.
Belangrijkste punten
Bitbucket is een webplatform voor het hosten van Git-repositories, ontwikkeld door het bedrijf Atlassian. Oorspronkelijk ondersteunde Bitbucket alleen Mercurial (vanaf 2008), maar na het stopzetten van de Mercurial-ondersteuning in 2020 is het volledig overgestapt op Git. Het platform is beschikbaar in twee edities: Bitbucket Cloud (SaaS, Atlassian-hosting) en Bitbucket Data Center (on-premise versie voor Enterprise).
Het belangrijkste voordeel van Bitbucket ten opzichte van concurrenten is de diepe integratie met Atlassian-producten. Jira koppelt automatisch commits en Pull Requests aan taken, Confluence maakt het mogelijk om codefragmenten in documentatie in te sluiten en Opsgenie koppelt implementaties aan incidenten. Voor teams die al gebruikmaken van het Atlassian-ecosysteem is Bitbucket de natuurlijke keuze, omdat het geen extra integratieconfiguratie vereist.
Bitbucket Cloud biedt meerdere hostingniveaus. Het gratis abonnement omvat één gebruiker en beperkte opslag (1 GB). Het standaardabonnement kost $3 per gebruiker per maand met onbeperkte privé-repositories en 2500 minuten Pipelines per maand. Bitbucket gebruikt een gebruikerslicentiemodel: elke gebruiker met toegang tot een repository, inclusief alleen-lezen, wordt in rekening gebracht.
Bitbucket Pipelines is een ingebouwd CI/CD-systeem dat werkt op basis van Docker-containers. Pipelines is direct geïntegreerd in Bitbucket Cloud en vereist geen installatie van aparte runners of configuratie van webhooks. De configuratie wordt beschreven in het bestand bitbucket-pipelines.yml in de hoofdmap van de repository. Elke pipeline bestaat uit stappen (steps) die in reeksen zijn samengevoegd.
Pipelines ondersteunt parallelle stappen, handmatige start, triggers op push en schema, caching van afhankelijkheden en artefacten. Elke stap wordt uitgevoerd in een geïsoleerde Docker-container waarvan de afbeelding in de configuratie wordt gespecificeerd. Hieronder staat een voorbeeld van een pipeline voor het bouwen van een Android-app met testen en publicatie naar Firebase App Distribution:
# bitbucket-pipelines.yml
image: openjdk:17-jdk
pipelines:
pull-requests:
'**':
- step:
name: Build and Test
caches:
- gradle
script:
- ./gradlew assembleDebug testDebugUnitTest
artifacts:
- app/build/outputs/apk/debug/
branches:
main:
- step:
name: Deploy to Firebase
script:
- pipe: atlassian/firebase-distribution:1.0.0
variables:
APP_FILE: 'app/build/outputs/apk/debug/app-debug.apk'
Bitbucket Pipelines heeft een limiet van 50 minuten per pipeline voor de Cloud-versie, wat voldoende is voor de meeste projecten, maar een knelpunt kan zijn voor grote monorepositories. In Data Center is deze limiet volledig verwijderd — de duur van de pipeline wordt alleen bepaald door de beschikbare serverbronnen. Pipelines ondersteunt ook aangepaste Docker-afbeeldingen, waardoor alle bouw- en testtools kunnen worden gebruikt.
Pull Request in Bitbucket is geïmplementeerd met nadruk op bedrijfsprocessen voor codebeoordeling. Bitbucket biedt: inline-opmerkingen bij specifieke diff-regels, verplichte controles (checks) van Pipelines of externe services, minimaal aantal goedkeuringen voor samenvoegen, blokkering van merge tot alle controles zijn doorstaan en een belangenconflictverklaring (decline). De PR-interface is verdeeld in drie kolommen: broncode, diff en bestandsstructuur.
De unieke functie van Bitbucket is Code Insights. Dit is een API voor integratie van externe codekwaliteitstools (SonarQube, CodeScene, ESLint, Detekt) die hun resultaten direct in de Pull Request-interface weergeven. De ontwikkelaar ziet: het aantal nieuwe bugs, testdekking, code smells en duplicaties. Code Insights maakt het mogelijk om beslissingen over merge te nemen op basis van objectieve metrieken, niet alleen de subjectieve mening van de beoordelaar.
Bitbucket ondersteunt ook branchbeperkingen (branch permissions): verwijderen van branches kan worden verboden, het aanmaken van PR's voor bepaalde branches kan verplicht worden gesteld, de lijst met gebruikers die merge-rechten op main hebben kan worden beperkt. Daarnaast zijn er merge-controles (merge checks) — een lijst met verplichte voorwaarden (Pipelines geslaagd, minimaal N goedkeuringen, geen openstaande opmerkingen) die moeten zijn voldaan voordat de Merge-knop kan worden gebruikt. Instellingen beschermen de productietak tegen onbedoelde ongecontroleerde wijzigingen.
De integratie van Bitbucket met Jira is het belangrijkste voordeel van het platform. Wanneer een ontwikkelaar de taaksleutel in het commit-bericht opneemt (bijv. PROJ-123), koppelt Jira deze commit automatisch aan de taak. In de taakinterface wordt het tabblad Development weergegeven, waar alle commits, Pull Requests, branches en implementaties met betrekking tot deze taak zijn verzameld. PR's werken automatisch de taakstatus in Jira bij bij samenvoegen (overgang naar Done).
Confluence integreert ook met Bitbucket: via de Code Block-macro kunnen live codefragmenten uit de repository in Confluence-pagina's worden ingevoegd. Wijzigingen in de code worden automatisch gesynchroniseerd met Confluence, wat handig is voor het bijhouden van architectuurdocumentatie. Bovendien biedt Atlassian Smart Commits — beheer van Jira-taken rechtstreeks vanuit het commit-bericht: statuswijziging, toevoegen van tijd en prioriteiten.
Voor DevOps-automatisering ondersteunt Bitbucket Deployment Gate — koppeling van implementatie aan de taakversie. Wanneer de pipeline de implementatiefase bereikt, controleert Jira of alle taken in deze release de status Approved hebben. Zo niet — wordt de implementatie geblokkeerd. Dit implementeert het Continuous Delivery-principe met kwaliteitscontrole op taakniveau, niet alleen op codeniveau.
Bitbucket maakt het mogelijk om repository-sjablonen te maken voor standaardisatie van de projectstructuur. Voor mobiele projecten kan een sjabloon worden gemaakt met vooraf geïnstalleerde bestanden: Gradle-configuratie, gitignore, Detekt- en Ktlint-instellingen, pipeline voor Android CI en README met bouwinstructies. Een nieuw project wordt in enkele klikken uit een sjabloon gemaakt, wat de onboarding van nieuwe ontwikkelaars versnellt.
Vergelijking van Bitbucket met GitHub en GitLab hangt af van het ecosysteem waarin het team werkt. Bitbucket verliest van GitHub qua communitygrootte (10 miljoen versus 100 miljoen gebruikers), maar wint op het gebied van bedrijfsintegraties dankzij de Atlassian-stack. Als het team al Jira gebruikt voor taakbeheer en Confluence voor documentatie — biedt Bitbucket naadloze integratie zonder extra configuratie.
Op het gebied van CI/CD staat Bitbucket Pipelines achter op GitLab CI/CD in geavanceerde scenario's (geen child pipelines, matrixbuilds, meerlaagse pipelines) en GitHub Actions qua aantal kant-en-klare acties (Marketplace Actions bevat 20.000+ stappen tegen duizenden openbare pipes in Bitbucket). Pipelines is echter eenvoudiger te configureren voor typische scenario's dankzij kant-en-klare pipe-componenten van Atlassian.
| Criterium | Bitbucket | GitHub | GitLab |
|---|---|---|---|
| CI/CD | Pipelines, 50 min/stap | Actions, 2000 min/maand | CI/CD, onbeperkt (Self) |
| Integratie | Jira, Confluence | Copilot, Slack, Azure | Kubernetes, Prometheus |
| Self-Hosted | Data Center (betaald) | Enterprise Server | CE (gratis) |
| Gebruikers | ~10 mln | ~100 mln | ~30 mln |
| Licentie | Propriëtair | Propriëtair | MIT (open source) |
De keuze voor Bitbucket is gerechtvaardigd in twee scenario's: het team maakt al gebruik van het Atlassian-ecosysteem (Jira + Confluence + Opsgenie) of het werk vindt plaats in een bedrijfsomgeving waar Bitbucket Data Centre al is geïmplementeerd als standaardtool. Voor startups en open-sourceprojecten biedt GitHub een rijkere community en gratis functies, en GitLab — de beste self-hosted CI/CD.
Bitbucket Data Center is de enterprise-versie van het platform, bedoeld voor installatie op eigen infrastructuur. In tegenstelling tot de Cloud-versie biedt Data Center: clustering (actief-actief modus voor meerdere knooppunten), Smart Mirroring (geografisch gedistribueerde spiegels voor versnelling van clone/fetch), hoge beschikbaarheid (99,99% uptime bij clustering) en volledige audit van acties.
Data Center bevat alle functies van de Cloud-versie, maar met enterprise-extensies. Smart Mirroring synchroniseert automatisch repositories tussen servers in verschillende datacenters — ontwikkelaars uit Europa en Azië krijgen dezelfde clone/fetch-snelheid, omdat Git-bewerkingen via de dichtstbijzijnde spiegel worden uitgevoerd. Auditlogs slaan elke actie op: wie, wanneer en vanaf welk IP een branch heeft aangemaakt, een push heeft gedaan, een PR heeft samengevoegd.
Licentiëring van Bitbucket Data Center is op basis van het aantal gebruikers (niet repositories). De minimale licentie voor 50 gebruikers kost vanaf $1520 per jaar (standaardabonnement). Data Center is verplicht voor organisaties waar: SLA's voor beschikbaarheid vereist zijn, gegevens het land niet mogen verlaten (AVG/GDPR, 152-FZ), het aantal ontwikkelaars meer dan 500 personen bedraagt of integratie met een bedrijfs-LDAP/SAML-systeem nodig is.
Bitbucket Snippets — een tool voor het opslaan en delen van kleine codefragmenten. In tegenstelling tot repositories hebben Snippets geen volledige Git-geschiedenis, maar ondersteunen ze versiebeheer, opmerkingen en forks. Snippets zijn nuttig voor gedeelde configuraties (docker-compose.yml voor lokale ontwikkeling), SQL-migratiescripts en codevoorbeelden die geen volledige repository vereisen. Elke Snippet heeft een unieke URL en kan worden gekoppeld aan een project in Jira.
Bitbucket REST API 2.0 maakt programmatisch beheer van repositories, Pull Requests, branches en machtigingen mogelijk. De API wordt gebruikt voor automatisering van workflows: aanmaken van een repository uit een sjabloon, bulk-update van machtigingen, ophalen van Pull Request-statistieken en integratie met externe CI-systemen. De snelheidslimiet is 1000 verzoeken per uur voor geverifieerde gebruikers. De API ondersteunt paginering via Page- en Pagelen-parameters voor het werken met grote datasets.
Veelgestelde vragen
Bitbucket is het Atlassian-platform voor het opslaan van Git-code met CI/CD, codebeoordeling en ingebouwde integratie met Jira. Het wordt gebruikt door teams die al in het Atlassian-ecosysteem werken.
Pipelines gebruikt pipe-componenten (kant-en-klare stappen van Atlassian), is eenvoudiger voor typische taken. GitHub Actions biedt een bredere Marketplace en flexibele matrixbuilds, maar vereist meer configuratie.
Voor een team van 5 personen kost Bitbucket Cloud Standard $15 per maand ($3 per gebruiker). Het gratis abonnement is alleen beschikbaar voor één gebruiker met beperkte functionaliteit.
Bitbucket biedt een ingebouwde importeur van GitHub, GitLab en andere platforms. Selecteer in de interface Import repository, voer de URL en authenticatiegegevens in — alle commits en branches worden overgezet.
Data Center is de enterprise-versie van Bitbucket voor installatie op eigen servers met clustering, Smart Mirroring en audit. Geschikt voor organisaties met honderden ontwikkelaars en vereisten voor gegevensbeveiliging.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook