Bitbucket: βασικές έννοιες, Pipelines και δυνατότητες

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-05-09 Χρόνος ανάγνωσης: 8 λεπ

Bitbucket είναι μια πλατφόρμα Git από την εταιρεία Atlassian, ενσωματωμένη με Jira, Confluence και άλλα εργαλεία του οικοσυστήματος. Το Bitbucket παρέχει φιλοξενία αποθετηρίων Git, ενσωματωμένο CI/CD μέσω Bitbucket Pipelines και ισχυρά εργαλεία για αναθεώρηση κώδικα. Σύμφωνα με στοιχεία Atlassian, 2024, το Bitbucket χρησιμοποιείται από πάνω από 10 εκατομμύρια προγραμματιστές και 800.000 ομάδες παγκοσμίως.

Βασικά σημεία

  • Bitbucket — πλατφόρμα Git της Atlassian με βαθιά ενσωμάτωση σε Jira και Confluence για διαχείριση έργων.
  • Bitbucket Pipelines — ενσωματωμένο CI/CD με διαμόρφωση μέσω YAML και υποστήριξη Docker containers.
  • Pull Request με αναθεώρηση κώδικα περιλαμβάνει inline σχόλια, ελέγχους (checks) και υποχρεωτικές εγκρίσεις.
  • Bitbucket Cloud — έκδοση SaaS, Data Center — τοπική έκδοση για εταιρικούς πελάτες.
  • Ενσωμάτωση με Jira — αυτόματη σύνδεση commits και PR με εργασίες μέσω κλειδιών σε μηνύματα.

Τι είναι το Bitbucket;

Bitbucket είναι μια διαδικτυακή πλατφόρμα για φιλοξενία αποθετηρίων Git, που αναπτύχθηκε από την εταιρεία Atlassian. Αρχικά το Bitbucket υποστήριζε μόνο Mercurial (από το 2008), αλλά μετά τη διακοπή υποστήριξης του Mercurial το 2020, μεταπήδησε πλήρως στο Git. Η πλατφόρμα διατίθεται σε δύο εκδόσεις: Bitbucket Cloud (SaaS, φιλοξενία Atlassian) και Bitbucket Data Center (τοπική έκδοση για Enterprise).

Το κύριο πλεονέκτημα του Bitbucket έναντι των ανταγωνιστών — η βαθιά ενσωμάτωση με τα προϊόντα Atlassian. Η Jira συνδέει αυτόματα τα commits και τα Pull Request με εργασίες, το Confluence επιτρέπει την ενσωμάτωση αποσπασμάτων κώδικα στην τεκμηρίωση και το Opsgenie συνδέει τις αναπτύξεις με περιστατικά. Για ομάδες που ήδη χρησιμοποιούν το οικοσύστημα Atlassian, το Bitbucket είναι η φυσική επιλογή, καθώς δεν απαιτεί ρύθμιση πρόσθετων ενσωματώσεων.

Το Bitbucket Cloud προσφέρει πολλά επίπεδα φιλοξενίας. Το δωρεάν πρόγραμμα περιλαμβάνει έναν χρήστη και περιορισμένο αποθηκευτικό χώρο (1 GB). Το τυπικό πρόγραμμα κοστίζει 3 δολάρια ανά χρήστη το μήνα με απεριόριστα ιδιωτικά αποθετήρια και 2500 λεπτά Pipelines το μήνα. Το Bitbucket χρησιμοποιεί μοντέλο αδειοδότησης χρήστη: κάθε χρήστης που έχει πρόσβαση στο αποθετήριο, συμπεριλαμβανομένης της μόνο ανάγνωσης, χρεώνεται.

Bitbucket Pipelines: CI/CD από το κουτί

Bitbucket Pipelines είναι ένα ενσωματωμένο σύστημα CI/CD που λειτουργεί με βάση Docker containers. Το Pipelines είναι άμεσα ενσωματωμένο στο Bitbucket Cloud και δεν απαιτεί εγκατάσταση ξεχωριστών runners ή ρύθμιση webhook. Η διαμόρφωση περιγράφεται στο αρχείο bitbucket-pipelines.yml, που βρίσκεται στη ρίζα του αποθετηρίου. Κάθε pipeline αποτελείται από βήματα (steps) συνδυασμένα σε ακολουθίες.

Το Pipelines υποστηρίζει παράλληλα βήματα, χειροκίνητη εκκίνηση, triggers με push και χρονοδιάγραμμα, προσωρινή αποθήκευση εξαρτήσεων και artifacts. Κάθε βήμα εκτελείται σε ένα απομονωμένο Docker container του οποίου η εικόνα καθορίζεται στη διαμόρφωση. Παρακάτω παρουσιάζεται ένα παράδειγμα pipeline για τη δημιουργία εφαρμογής Android με δοκιμή και δημοσίευση στο Firebase App Distribution:

yaml
# 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 έχει όριο 50 λεπτών ανά pipeline για την έκδοση Cloud, που είναι αρκετό για τα περισσότερα έργα, αλλά μπορεί να αποτελέσει σημείο συμφόρησης για μεγάλα monorepositories. Στο Data Center αυτός ο περιορισμός καταργείται εντελώς — η διάρκεια του pipeline καθορίζεται μόνο από τους διαθέσιμους πόρους διακομιστή. Το Pipelines υποστηρίζει επίσης προσαρμοσμένες εικόνες Docker, επιτρέποντας τη χρήση οποιωνδήποτε εργαλείων δημιουργίας και δοκιμής.

Pull Request και αναθεώρηση κώδικα στο Bitbucket

Το Pull Request στο Bitbucket υλοποιείται με έμφαση στις εταιρικές διαδικασίες αναθεώρησης κώδικα. Το Bitbucket προσφέρει: inline σχόλια σε συγκεκριμένες γραμμές diff, υποχρεωτικούς ελέγχους (checks) από Pipelines ή εξωτερικές υπηρεσίες, ελάχιστο αριθμό εγκρίσεων για συγχώνευση, αποκλεισμό merge μέχρι να περάσουν όλοι οι έλεγχοι και δήλωση σύγκρουσης συμφερόντων (decline). Η διεπαφή PR χωρίζεται σε τρεις στήλες: πηγαίος κώδικας, diff και δομή αρχείων.

Η μοναδική λειτουργία του Bitbucket — Code Insights. Είναι ένα API για ενσωμάτωση εξωτερικών εργαλείων ποιότητας κώδικα (SonarQube, CodeScene, ESLint, Detekt) που εμφανίζουν τα αποτελέσματά τους απευθείας στη διεπαφή Pull Request. Ο προγραμματιστής βλέπει: αριθμό νέων σφαλμάτων, κάλυψη δοκιμών, code smells και διπλοτυπίες. Το Code Insights επιτρέπει τη λήψη αποφάσεων σχετικά με το merge βάσει αντικειμενικών μετρήσεων, όχι μόνο της υποκειμενικής γνώμης του κριτή.

Το Bitbucket υποστηρίζει επίσης περιορισμούς κλαδιών (branch permissions): μπορεί να απαγορευτεί η διαγραφή κλαδιών, να υποχρεωθεί η δημιουργία PR για συγκεκριμένα κλαδιά, να περιοριστεί η λίστα χρηστών με δικαιώματα merge στο main. Επιπλέον υπάρχουν έλεγχοι merge (merge checks) — μια λίστα υποχρεωτικών συνθηκών (Pipelines επιτυχής, ελάχιστο Ν εγκρίσεις, κανένα ανοιχτό σχόλιο) που πρέπει να εκπληρωθούν πριν από το κουμπί Merge. Οι ρυθμίσεις προστατεύουν το κλαδί παραγωγής από τυχαίες μη επαληθευμένες αλλαγές.

Ενσωμάτωση Bitbucket με Jira και Confluence

Η ενσωμάτωση του Bitbucket με Jira — το βασικό πλεονέκτημα της πλατφόρμας. Όταν ο προγραμματιστής συμπεριλαμβάνει το κλειδί εργασίας στο μήνυμα commit (π.χ. PROJ-123), η Jira συνδέει αυτόματα αυτό το commit με την εργασία. Στη διεπαφή εργασίας εμφανίζεται η καρτέλα Development, όπου συλλέγονται όλα τα commits, τα Pull Request, τα κλαδιά και οι αναπτύξεις που σχετίζονται με αυτήν την εργασία. Τα PR ενημερώνουν αυτόματα την κατάσταση εργασίας στη Jira κατά τη συγχώνευση (μετάβαση σε Done).

Confluence ενσωματώνεται επίσης με το Bitbucket: ζωντανά αποσπάσματα κώδικα από το αποθετήριο μπορούν να εισαχθούν σε σελίδες Confluence μέσω του μακροεντολής Code Block. Οι αλλαγές στον κώδικα συγχρονίζονται αυτόματα με το Confluence, που είναι βολικό για τη διατήρηση αρχιτεκτονικής τεκμηρίωσης. Επιπλέον, η Atlassian παρέχει Smart Commits — διαχείριση εργασιών Jira απευθείας από το μήνυμα commit: αλλαγή κατάστασης, προσθήκη χρόνου και προτεραιοτήτων.

Για αυτοματοποίηση DevOps το Bitbucket υποστηρίζει Deployment Gate — σύνδεση ανάπτυξης με έκδοση εργασίας. Όταν το pipeline φτάσει στο στάδιο ανάπτυξης, η Jira ελέγχει αν όλες οι εργασίες σε αυτήν την έκδοση έχουν κατάσταση Approved. Αν όχι — η ανάπτυξη αποκλείεται. Αυτό υλοποιεί την αρχή Continuous Delivery με έλεγχο ποιότητας σε επίπεδο εργασιών, όχι μόνο κώδικα.

Πρότυπα αποθετηρίων

Το Bitbucket επιτρέπει τη δημιουργία προτύπων αποθετηρίων για τυποποίηση της δομής έργων. Για κινητά έργα μπορεί να δημιουργηθεί ένα πρότυπο με προεγκατεστημένα αρχεία: διαμόρφωση Gradle, gitignore, ρυθμίσεις Detekt και Ktlint, pipeline για Android CI και README με οδηγίες δημιουργίας. Ένα νέο έργο δημιουργείται από το πρότυπο σε λίγα κλικ, που επιταχύνει την ενσωμάτωση νέων προγραμματιστών.

Bitbucket εναντίον GitHub και GitLab

Σύγκριση Bitbucket με GitHub και GitLab εξαρτάται από το οικοσύστημα στο οποίο εργάζεται η ομάδα. Το Bitbucket χάνει από το GitHub σε μέγεθος κοινότητας (10 εκατ. έναντι 100 εκατ. χρηστών), αλλά κερδίζει σε εταιρικές ενσωματώσεις χάρη στη στοίβα Atlassian. Αν η ομάδα ήδη χρησιμοποιεί Jira για διαχείριση εργασιών και Confluence για τεκμηρίωση — το Bitbucket παρέχει απρόσκοπτη ενσωμάτωση χωρίς πρόσθετες ρυθμίσεις.

Σε ό,τι αφορά CI/CD το Bitbucket Pipelines υστερεί έναντι GitLab CI/CD σε προηγμένα σενάρια (χωρίς child pipelines, μητρικές κατασκευές, πολυεπίπεδα pipelines) και GitHub Actions σε αριθμό έτοιμων ενεργειών (Marketplace Actions περιέχει 20.000+ βήματα έναντι χιλιάδων δημόσιων pipe στο Bitbucket). Ωστόσο, το Pipelines είναι απλούστερο στη ρύθμιση για τυπικά σενάρια χάρη στα έτοιμα pipe components από την Atlassian.

ΚριτήριοBitbucketGitHubGitLab
CI/CDPipelines, 50 λεπ/βήμαActions, 2000 λεπ/μήναCI/CD, χωρίς όρια (Self)
ΕνσωμάτωσηJira, ConfluenceCopilot, Slack, AzureKubernetes, Prometheus
Self-HostedData Center (επί πληρωμή)Enterprise ServerCE (δωρεάν)
Χρήστες~10 εκατ.~100 εκατ.~30 εκατ.
ΆδειαΙδιόκτητηΙδιόκτητηMIT (ανοιχτός κώδικας)

Η επιλογή του Bitbucket δικαιολογείται σε δύο σενάρια: η ομάδα ήδη χρησιμοποιεί το οικοσύστημα Atlassian (Jira + Confluence + Opsgenie) ή η εργασία γίνεται σε εταιρικό περιβάλλον όπου το Bitbucket Data Centre είναι ήδη εγκατεστημένο ως τυπικό εργαλείο. Για startups και έργα ανοιχτού κώδικα, το GitHub προσφέρει πλουσιότερη κοινότητα και δωρεάν λειτουργίες, ενώ το GitLab — το καλύτερο self-hosted CI/CD.

Bitbucket Data Center για Enterprise

Bitbucket Data Center είναι η εταιρική έκδοση της πλατφόρμας, που προορίζεται για εγκατάσταση σε δική σας υποδομή. Σε αντίθεση με την έκδοση Cloud, το Data Center προσφέρει: συσταδοποίηση (λειτουργία ενεργό-ενεργό για πολλαπλούς κόμβους), Smart Mirroring (γεωγραφικά κατανεμημένα αντίγραφα για επιτάχυνση clone/fetch), υψηλή διαθεσιμότητα (99,99% uptime με συσταδοποίηση) και πλήρη καταγραφή ενεργειών.

Το Data Center περιλαμβάνει όλες τις λειτουργίες της έκδοσης Cloud, αλλά με εταιρικές επεκτάσεις. Smart Mirroring συγχρονίζει αυτόματα τα αποθετήρια μεταξύ διακομιστών σε διαφορετικά κέντρα δεδομένων — προγραμματιστές από Ευρώπη και Ασία λαμβάνουν την ίδια ταχύτητα clone/fetch, καθώς οι λειτουργίες Git εκτελούνται μέσω του πλησιέστερου αντίγραφου. Τα αρχεία καταγραφής αποθηκεύουν κάθε ενέργεια: ποιος, πότε και από ποια IP δημιούργησε κλαδί, έκανε push, συγχώνευσε PR.

Η αδειοδότηση του Bitbucket Data Center γίνεται βάσει αριθμού χρηστών (όχι αποθετηρίων). Η ελάχιστη άδεια για 50 χρήστες κοστίζει από 1520 δολάρια ετησίως (τυπικό πρόγραμμα). Το Data Center είναι υποχρεωτικό για οργανισμούς όπου: απαιτούνται SLA για διαθεσιμότητα, τα δεδομένα δεν μπορούν να εγκαταλείψουν τη χώρα (GDPR, 152-FZ), ο αριθμός προγραμματιστών υπερβαίνει τα 500 άτομα ή απαιτείται ενσωμάτωση με εταιρικό σύστημα LDAP/SAML.

Bitbucket Snippets για κοινόχρηστο κώδικα

Bitbucket Snippets — ένα εργαλείο για αποθήκευση και κοινή χρήση μικρών αποσπασμάτων κώδικα. Σε αντίθεση με τα αποθετήρια, τα Snippets δεν έχουν πλήρες ιστορικό Git, αλλά υποστηρίζουν έλεγχο εκδόσεων, σχόλια και forks. Τα Snippets είναι χρήσιμα για κοινόχρηστες διαμορφώσεις (docker-compose.yml για τοπική ανάπτυξη), σενάρια SQL μετεγκατάστασης και παραδείγματα κώδικα που δεν απαιτούν πλήρες αποθετήριο. Κάθε Snippet έχει μοναδικό URL και μπορεί να συνδεθεί με ένα έργο στη Jira.

API Bitbucket για αυτοματοποίηση

Bitbucket REST API 2.0 επιτρέπει τον προγραμματισμό διαχείρισης αποθετηρίων, Pull Request, κλαδιών και δικαιωμάτων. Το API χρησιμοποιείται για αυτοματοποίηση ροών εργασίας: δημιουργία αποθετηρίου από πρότυπο, μαζική ενημέρωση δικαιωμάτων, λήψη στατιστικών Pull Request και ενσωμάτωση με εξωτερικά συστήματα CI. Το όριο ρυθμού είναι 1000 αιτήματα την ώρα για πιστοποιημένους χρήστες. Το API υποστηρίζει σελιδοποίηση μέσω παραμέτρων Page και Pagelen για εργασία με μεγάλα σύνολα δεδομένων.

Συχνές ερωτήσεις

Τι είναι το Bitbucket και σε τι χρησιμεύει;

Bitbucket είναι η πλατφόρμα Atlassian για αποθήκευση κώδικα Git με CI/CD, αναθεώρηση κώδικα και ενσωματωμένη ενσωμάτωση με Jira. Χρησιμοποιείται από ομάδες που ήδη εργάζονται στο οικοσύστημα Atlassian.

Σε τι διαφέρει το Bitbucket Pipelines από το GitHub Actions;

Pipelines χρησιμοποιεί pipe components (έτοιμα βήματα από την Atlassian), είναι απλούστερο για τυπικές εργασίες. Το GitHub Actions προσφέρει ευρύτερο Marketplace και ευέλικτες μητρικές κατασκευές, αλλά απαιτεί περισσότερη ρύθμιση.

Πόσο κοστίζει το Bitbucket για μια μικρή ομάδα;

Για ομάδα 5 ατόμων, το Bitbucket Cloud Standard κοστίζει 15 δολάρια το μήνα (3 δολάρια ανά χρήστη). Το δωρεάν πρόγραμμα διατίθεται μόνο για έναν χρήστη με περιορισμένες λειτουργίες.

Πώς μεταφέρεται ένα αποθετήριο από GitHub στο Bitbucket;

Το Bitbucket παρέχει ενσωματωμένο εισαγωγέα από GitHub, GitLab και άλλες πλατφόρμες. Στη διεπαφή, επιλέξτε Import repository, εισαγάγετε το URL και τα στοιχεία ταυτοποίησης — όλα τα commits και τα κλαδιά θα μεταφερθούν.

Τι είναι το Bitbucket Data Center;

Data Center — η εταιρική έκδοση του Bitbucket για εγκατάσταση σε δικούς σας διακομιστές με συσταδοποίηση, Smart Mirroring και καταγραφή. Κατάλληλο για οργανισμούς με εκατοντάδες προγραμματιστές και απαιτήσεις ασφάλειας δεδομένων.

Σύνοψη

  • Bitbucket — πλατφόρμα Git Atlassian με έμφαση σε εταιρικές ενσωματώσεις και αναθεώρηση κώδικα.
  • Pipelines — ενσωματωμένο CI/CD σε Docker containers με έτοιμα pipe components από την Atlassian.
  • Ενσωμάτωση με Jira συνδέει αυτόματα commits και PR με εργασίες, ενημερώνοντας καταστάσεις κατά το merge.
  • Code Insights εμφανίζει αποτελέσματα εξωτερικών αναλυτών κώδικα απευθείας στη διεπαφή Pull Request.
  • Data Center — τοπική έκδοση Enterprise με συσταδοποίηση, Smart Mirroring και πλήρη καταγραφή.
  • Bitbucket είναι βέλτιστο για ομάδες που ήδη χρησιμοποιούν Jira και Confluence σε εταιρικό περιβάλλον.
  • Ξεκινήστε δημιουργώντας ένα αποθετήριο, συνδέστε το Pipelines και ρυθμίστε το Code Insights — αυτό καλύπτει τις κύριες ανάγκες της ομάδας.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης