Bitbucket: əsas anlayışlar, Pipelines və imkanlar

Müəllif: IT Sectr Dərc olunub: 2026-05-09 Oxuma vaxtı: 8 dəq

Bitbucket — Atlassian şirkətinin Jira, Confluence və ekosistemin digər alətləri ilə inteqrasiya olunmuş Git platformasıdır. Bitbucket Git repozitoriyalarının hostinqini, Bitbucket Pipelines vasitəsilə daxili CI/CD-ni və kod icmalı üçün güclü alətləri təmin edir. Atlassian, 2024 məlumatlarına görə, Bitbucket dünyada 10 milyondan çox inkişaf etdirici və 800 000 komanda tərəfindən istifadə olunur.

Əsas məqamlar

  • Bitbucket — layihələrin idarə edilməsi üçün Jira və Confluence ilə dərin inteqrasiyaya malik Atlassian Git platforması.
  • Bitbucket Pipelines — YAML vasitəsilə konfiqurasiya və Docker konteynerlərinin dəstəyi ilə daxili CI/CD.
  • Pull Request kod icmalı ilə inline şərhlər, yoxlamalar (checks) və məcburi təsdiqləri əhatə edir.
  • Bitbucket Cloud — SaaS versiyası, Data Center — korporativ müştərilər üçün lokal versiya.
  • Jira ilə inteqrasiya — mesajlarda açarlar vasitəsilə commit və PR-lərin tapşırıqlara avtomatik bağlanması.

Bitbucket nədir?

Bitbucket — Atlassian şirkəti tərəfindən hazırlanmış Git repozitoriyalarının hostinqi üçün veb platformadır. Əvvəlcə Bitbucket yalnız Mercurial-ı dəstəkləyirdi (2008-ci ildən), lakin 2020-ci ildə Mercurial dəstəyi dayandırıldıqdan sonra tamamilə Git-ə keçdi. Platforma iki redaksiyada mövcuddur: Bitbucket Cloud (SaaS, Atlassian hostinqi) və Bitbucket Data Center (Enterprise üçün lokal versiya).

Bitbucket-in rəqiblər üzərində əsas üstünlüyü Atlassian məhsulları ilə dərin inteqrasiyadır. Jira commit və Pull Request-ləri avtomatik olaraq tapşırıqlara bağlayır, Confluence sənədləşdirməyə kod fraqmentlərini yerləşdirməyə imkan verir, Opsgenie isə yerləşdirmələri hadisələrlə əlaqələndirir. Artıq Atlassian ekosistemindən istifadə edən komandalar üçün Bitbucket təbii seçimdir, çünki əlavə inteqrasiyaların konfiqurasiyasını tələb etmir.

Bitbucket Cloud bir neçə hostinq səviyyəsi təqdim edir. Pulsuz tarif bir istifadəçini və məhdud yaddaşı (1 GB) əhatə edir. Standart tarif istifadəçi başına ayda 3 dollardır, limitsiz şəxsi repozitoriyalar və ayda 2500 dəqiqə Pipelines ilə. Bitbucket istifadəçi lisenziya modeli tətbiq edir: repozitoriyaya girişi olan hər bir istifadəçi, o cümlədən yalnız oxuma rejimi, tarifləşdirilir.

Bitbucket Pipelines: qutudan çıxan CI/CD

Bitbucket Pipelines — Docker konteynerləri əsasında işləyən daxili CI/CD sistemidir. Pipelines birbaşa Bitbucket Cloud-a inteqrasiya olunub və ayrıca runner-ların quraşdırılmasını və ya webhook konfiqurasiyasını tələb etmir. Konfiqurasiya repozitoriyanın kökündə yerləşən bitbucket-pipelines.yml faylında təsvir olunur. Hər bir pipeline ardıcıllıqla birləşdirilmiş addımlardan (steps) ibarətdir.

Pipelines paralel addımları, əl ilə işə salmağı, push və cədvəl üzrə trigger-ləri, asılılıqların keşlənməsini və artefaktları dəstəkləyir. Hər bir addım konfiqurasiyada göstərilən təsvirə malik izolyasiya olunmuş Docker konteynerində icra olunur. Aşağıda Firebase App Distribution-da test və nəşr ilə Android tətbiqinin qurulması üçün nümunə pipeline verilmişdir:

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 Cloud versiyası üçün hər pipeline-da 50 dəqiqə məhdudiyyətinə malikdir, bu əksər layihələr üçün kifayətdir, lakin böyük monorepozitoriyalar üçün darboğaz ola bilər. Data Center-də bu məhdudiyyət tamamilə aradan qaldırılır — pipeline müddəti yalnız serverin mövcud resursları ilə müəyyən edilir. Pipelines həmçinin fərdi Docker təsvirlərini dəstəkləyir, bu da istənilən qurma və test alətlərindən istifadə etməyə imkan verir.

Bitbucket-də Pull Request və kod icmalı

Bitbucket-də Pull Request korporativ kod icmalı proseslərinə vurğu ilə həyata keçirilmişdir. Bitbucket təklif edir: diff-in konkret sətirlərinə inline şərhlər, Pipelines və ya xarici xidmətlərdən məcburi yoxlamalar (checks), birləşmə üçün minimum təsdiq sayı, bütün yoxlamalar keçirilənə qədər merge-in bloklanması və maraqların toqquşması bəyannaməsi (decline). PR interfeysi üç sütuna bölünür: mənbə kodu, diff və fayl strukturu.

Bitbucket-in unikal funksiyası Code Insights-dır. Bu, xarici kod keyfiyyəti alətlərinin (SonarQube, CodeScene, ESLint, Detekt) nəticələrini birbaşa Pull Request interfeysində göstərən API-dir. İnkişaf etdirici görür: yeni səhvlərin sayı, test əhatəsi, kod qoxuları və dublikasiyalar. Code Insights merge haqqında qərarı yalnız rəyçinin subyektiv rəyi deyil, obyektiv metrikalar əsasında qəbul etməyə imkan verir.

Bitbucket həmçinin budaq məhdudiyyətlərini (branch permissions) dəstəkləyir: budaqların silinməsini qadağan etmək, müəyyən budaqlar üçün PR yaradılmasını məcbur etmək, main-ə merge etmək hüququ olan istifadəçilərin siyahısını məhdudlaşdırmaq olar. Əlavə olaraq merge yoxlamaları (merge checks) mövcuddur — Merge düyməsini basmazdan əvvəl yerinə yetirilməli olan məcburi şərtlərin siyahısı (Pipelines keçib, minimum N təsdiq, açıq şərhlər yoxdur). Parametrlər istehsalat budağını təsadüfi yoxlanılmamış dəyişikliklərdən qoruyur.

Bitbucket-in Jira və Confluence ilə inteqrasiyası

Bitbucket-in Jira ilə inteqrasiyası platformanın əsas üstünlüyüdür. İnkişaf etdirici commit mesajına tapşırıq açarı daxil etdikdə (məsələn, PROJ-123), Jira bu commit-i avtomatik olaraq tapşırığa bağlayır. Tapşırıq interfeysində Development nişanı göstərilir, burada bu tapşırıqla əlaqəli bütün commit-lər, Pull Request-lər, budaqlar və yerləşdirmələr toplanır. PR-lər birləşdirildikdə Jira-da tapşırığın statusunu avtomatik yeniləyir (Done vəziyyətinə keçid).

Confluence də Bitbucket ilə inteqrasiya olunur: Code Block makrosu vasitəsilə Confluence səhifələrinə repozitoriyadan canlı kod fraqmentləri yerləşdirmək olar. Koddakı dəyişikliklər avtomatik olaraq Confluence ilə sinxronlaşdırılır, bu da arxitektura sənədləşdirməsi üçün əlverişlidir. Əlavə olaraq Atlassian Smart Commits təqdim edir — commit mesajından birbaşa Jira tapşırıqlarının idarə edilməsi: statusun dəyişdirilməsi, vaxt və prioritetlərin əlavə edilməsi.

DevOps avtomatlaşdırması üçün Bitbucket Deployment Gate-i dəstəkləyir — yerləşdirmənin tapşırıq versiyasına bağlanması. Pipeline yerləşdirmə mərhələsinə çatdıqda, Jira bu buraxılışdakı bütün tapşırıqların Approved statusuna malik olub-olmadığını yoxlayır. Əks halda — yerləşdirmə bloklanır. Bu, yalnız kod səviyyəsində deyil, tapşırıq səviyyəsində keyfiyyət nəzarəti ilə Continuous Delivery prinsipini həyata keçirir.

Repozitoriya şablonları

Bitbucket layihə strukturunun standartlaşdırılması üçün repozitoriya şablonları yaratmağa imkan verir. Mobil layihələr üçün əvvəlcədən quraşdırılmış fayllarla şablon yaradıla bilər: Gradle konfiqurasiyası, gitignore, Detekt və Ktlint parametrləri, Android CI üçün pipeline və qurma təlimatı ilə README. Yeni layihə bir neçə kliklə şablondan yaradılır ki, bu da yeni inkişaf etdiricilərin işə başlamasını sürətləndirir.

Bitbucket GitHub və GitLab ilə müqayisədə

Bitbucket-in GitHub və GitLab ilə müqayisəsi komandanın işlədiyi ekosistemdən asılıdır. Bitbucket icma ölçüsünə görə GitHub-dan geri qalır (10 mln-a qarşı 100 mln istifadəçi), lakin Atlassian stack sayəsində korporativ inteqrasiyalarda üstündür. Komanda artıq tapşırıqların idarə edilməsi üçün Jira və sənədləşdirmə üçün Confluence istifadə edirsə — Bitbucket əlavə parametrlər olmadan problemsiz inteqrasiya təmin edir.

CI/CD baxımından Bitbucket Pipelines qabaqcıl ssenarilərdə GitLab CI/CD-dən (child pipelines, matris qurmaları, çoxsəviyyəli pipeline-lar yoxdur) və hazır hərəkətlərin sayına görə GitHub Actions-dan (Marketplace Actions-da 20 000+ addım, Bitbucket-də minlərlə ictimai pipe) geri qalır. Bununla belə, Pipelines Atlassian-dan hazır pipe komponentləri sayəsində tipik ssenarilər üçün konfiqurasiyada daha sadədir.

MeyarBitbucketGitHubGitLab
CI/CDPipelines, 50 dəq/addımActions, 2000 dəq/ayCI/CD, limitsiz (Self)
İnteqrasiyaJira, ConfluenceCopilot, Slack, AzureKubernetes, Prometheus
Self-HostedData Center (pullu)Enterprise ServerCE (pulsuz)
İstifadəçilər~10 mln~100 mln~30 mln
LisenziyaMülkiyyətMülkiyyətMIT (açıq kod)

Bitbucket seçimi iki ssenaridə əsaslandırılır: komanda artıq Atlassian ekosistemindən (Jira + Confluence + Opsgenie) istifadə edir və ya iş Bitbucket Data Center-in artıq standart alət kimi yerləşdirildiyi korporativ mühitdə aparılır. Startaplar və açıq mənbə layihələri üçün GitHub daha zəngin icma və pulsuz funksiyalar təklif edir, GitLab isə ən yaxşı öz-özünə idarə olunan CI/CD təmin edir.

Enterprise üçün Bitbucket Data Center

Bitbucket Data Center — öz infrastrukturunda quraşdırmaq üçün nəzərdə tutulmuş platformanın korporativ versiyasıdır. Cloud versiyasından fərqli olaraq, Data Center təklif edir: klasterləşdirmə (çox qovşaq üçün aktiv-aktiv rejim), Smart Mirroring (clone/fetch-i sürətləndirmək üçün coğrafi paylanmış güzgülər), yüksək əlçatanlıq (klasterləşdirmə ilə 99,99% uptime) və tam audit.

Data Center Cloud versiyasının bütün funksiyalarını, lakin korporativ genişləndirmələrlə əhatə edir. Smart Mirroring repozitoriyaları müxtəlif məlumat mərkəzlərindəki serverlər arasında avtomatik sinxronlaşdırır — Avropa və Asiyadan olan inkişaf etdiricilər eyni clone/fetch sürətini alır, çünki Git əməliyyatları ən yaxın güzgü vasitəsilə icra olunur. Audit jurnalları hər bir hərəkəti qeyd edir: kim, nə vaxt və hansı IP-dən budaq yaratdı, push etdi, PR-i birləşdirdi.

Bitbucket Data Center-in lisenziyalaşdırılması istifadəçilərin sayına görə aparılır (repozitoriyaların deyil). 50 istifadəçi üçün minimum lisenziya ildə 1520 dollardan (standart tarif). Data Center aşağıdakı təşkilatlar üçün məcburidir: əlçatanlıq üçün SLA tələb olunur, məlumatlar ölkəni tərk edə bilməz (GDPR, 152-FZ), inkişaf etdiricilərin sayı 500 nəfərdən çoxdur və ya korporativ LDAP/SAML sistemi ilə inteqrasiya tələb olunur.

Ümumi kod üçün Bitbucket Snippets

Bitbucket Snippets — kiçik kod fraqmentlərinin saxlanması və mübadiləsi üçün alət. Repozitoriyalardan fərqli olaraq, Snippets tam Git tarixçəsinə malik deyil, lakin versiyalaşdırma, şərhlər və fork-ları dəstəkləyir. Snippets ümumi konfiqurasiyalar (lokal inkişaf üçün docker-compose.yml), miqrasiya SQL skriptləri və tam repozitoriya tələb etməyən kod nümunələri üçün faydalıdır. Hər bir Snippet unikal URL-ə malikdir və Jira-da layihəyə bağlana bilər.

Avtomatlaşdırma üçün Bitbucket API

Bitbucket REST API 2.0 repozitoriyaları, Pull Request-ləri, budaqları və icazələri proqram vasitəsilə idarə etməyə imkan verir. API iş proseslərinin avtomatlaşdırılması üçün istifadə olunur: şablondan repozitoriya yaratmaq, icazələrin kütləvi yenilənməsi, Pull Request statistikasının alınması və xarici CI sistemləri ilə inteqrasiya. Rate limit autentifikasiya olunmuş istifadəçilər üçün saatda 1000 sorğudur. API böyük məlumat dəstləri ilə işləmək üçün PagePagelen parametrləri vasitəsilə Paginasiyanı dəstəkləyir.

Tez-tez verilən suallar

Bitbucket nədir və nə üçün lazımdır?

Bitbucket Atlassian platformasıdır, CI/CD, kod icmalı və Jira ilə daxili inteqrasiya ilə Git kodunun saxlanması üçündür. Artıq Atlassian ekosistemində işləyən komandalar tərəfindən istifadə olunur.

Bitbucket Pipelines GitHub Actions-dan nə ilə fərqlənir?

Pipelines pipe komponentlərindən (Atlassian-dan hazır addımlar) istifadə edir, tipik tapşırıqlar üçün daha sadədir. GitHub Actions daha geniş Marketplace və çevik matris qurmaları təklif edir, lakin daha çox konfiqurasiya tələb edir.

Kiçik komanda üçün Bitbucket nə qədərdir?

5 nəfərlik komanda üçün Bitbucket Cloud Standard ayda 15 dollara başa gəlir (istifadəçi başına 3 dollar). Pulsuz tarif yalnız bir istifadəçi üçün məhdud funksionallıqla mövcuddur.

GitHub-dan Bitbucket-ə repozitoriyanı necə köçürmək olar?

Bitbucket GitHub, GitLab və digər platformalardan daxili idxalçı təqdim edir. İnterfeysdə Import repository seçin, URL və autentifikasiya məlumatlarını göstərin — bütün commit-lər və budaqlar köçürüləcək.

Bitbucket Data Center nədir?

Data Center — klasterləşdirmə, Smart Mirroring və audit ilə öz serverlərində quraşdırmaq üçün Bitbucket-in korporativ versiyası. Yüzlərlə inkişaf etdiricisi və məlumat təhlükəsizliyi tələbləri olan təşkilatlar üçün uyğundur.

Nəticə

  • Bitbucket — korporativ inteqrasiyalara və kod icmalına fokuslanmış Atlassian Git platforması.
  • Pipelines — Atlassian-dan hazır pipe komponentləri ilə Docker konteynerlərində daxili CI/CD.
  • Jira ilə inteqrasiya commit və PR-ləri tapşırıqlara avtomatik bağlayır, merge zamanı statusları yeniləyir.
  • Code Insights xarici kod analizatorlarının nəticələrini birbaşa Pull Request interfeysində göstərir.
  • Data Center — klasterləşdirmə, Smart Mirroring və tam audit ilə lokal Enterprise versiyası.
  • Bitbucket korporativ mühitdə artıq Jira və Confluence istifadə edən komandalar üçün optimaldır.
  • Başlayın — repozitoriya yaradın, Pipelines-i qoşun və Code Insights-i konfiqurasiya edin — bu komandanın əsas ehtiyaclarını əhatə edəcək.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun