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 контейнери.
  • 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 Requests със задачи, Confluence позволява вграждане на кодови фрагменти в документацията, а Opsgenie свързва внедряванията с инциденти. За екипи, които вече използват екосистемата на Atlassian, Bitbucket е естествен избор, тъй като не изисква конфигуриране на допълнителни интеграции.

Bitbucket Cloud предлага няколко нива на хостинг. Безплатният план включва един потребител и ограничено хранилище (1 GB). Стандартният план струва 3 долара на потребител на месец с неограничен брой частни хранилища и 2500 минути Pipelines на месец. Bitbucket използва потребителски лицензионен модел: всеки потребител с достъп до хранилище, включително само за четене, се таксува.

Bitbucket Pipelines: CI/CD от кутията

Bitbucket Pipelines е вградена CI/CD система, която работи на базата на Docker контейнери. Pipelines е интегриран директно в Bitbucket Cloud и не изисква инсталиране на отделни runners или конфигуриране на webhook. Конфигурацията се описва във файла bitbucket-pipelines.yml, намиращ се в корена на хранилището. Всеки pipeline се състои от стъпки (steps), обединени в последователности.

Pipelines поддържа паралелни стъпки, ръчно стартиране, тригери при push и по разписание, кеширане на зависимости и артефакти. Всяка стъпка се изпълнява в изолиран Docker контейнер, чийто образ се задава в конфигурацията. По-долу е показан примерен 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 версията, което е достатъчно за повечето проекти, но може да бъде тясно място за големи монохранилища. В 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 преминат, минимум N одобрения, без отворени коментари), които трябва да бъдат изпълнени преди бутона Merge. Настройките защитават продукционния клон от случайни непроверени промени.

Интеграция на Bitbucket с Jira и Confluence

Интеграцията на Bitbucket с Jira — ключово предимство на платформата. Когато разработчикът включи в съобщението на commit ключа на задачата (напр. PROJ-123), Jira автоматично свързва този commit със задачата. В интерфейса на задачата се показва раздел Development, където са събрани всички commits, Pull Requests, клони и внедрявания, свързани с тази задача. 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+ стъпки срещу хиляди публични pipes в Bitbucket). Въпреки това, Pipelines е по-лесен за конфигуриране за типични сценарии благодарение на готовите pipe компоненти от 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 вече е внедрен като стандартен инструмент. За стартъпи и проекти с отворен код, GitHub предлага по-богата общност и безплатни функции, а GitLab — най-добрият самостоятелно хостван CI/CD.

Bitbucket Data Center за Enterprise

Bitbucket Data Center е корпоративната версия на платформата, предназначена за инсталиране на собствена инфраструктура. За разлика от Cloud версията, Data Center предлага: клъстеризация (активен-активен режим за множество възли), Smart Mirroring (географски разпределени огледала за ускоряване на clone/fetch), висока достъпност (99,99% ъптайм при клъстеризация) и пълен одит на действията.

Data Center включва всички функции на Cloud версията, но с корпоративни разширения. Smart Mirroring автоматично синхронизира хранилищата между сървъри в различни центрове за данни — разработчици от Европа и Азия получават еднаква скорост на clone/fetch, тъй като Git операциите се изпълняват през най-близкото огледало. Одитните журнали съхраняват всяко действие: кой, кога и от кой IP е създал клон, направил push, обединил PR.

Лицензирането на Bitbucket Data Center е на база брой потребители (не хранилища). Минималният лиценз за 50 потребители е на цена от 1520 долара годишно (стандартен план). Data Center е задължителен за организации, където: се изискват SLA за достъпност, данните не могат да напускат страната (GDPR, 152-ФЗ), броят на разработчиците надвишава 500 души или е необходима интеграция с корпоративна LDAP/SAML система.

Bitbucket Snippets за споделен код

Bitbucket Snippets — инструмент за съхранение и споделяне на малки кодови фрагменти. За разлика от хранилищата, Snippets нямат пълна Git история, но поддържат версиониране, коментари и форкове. Snippets са полезни за споделени конфигурации (docker-compose.yml за локално разработване), SQL скриптове за миграция и примерен код, който не изисква пълно хранилище. Всеки Snippet има уникален URL и може да бъде свързан с проект в Jira.

API на Bitbucket за автоматизация

Bitbucket REST API 2.0 позволява програмно управление на хранилища, Pull Requests, клони и разрешения. API се използва за автоматизация на работни потоци: създаване на хранилище от шаблон, масово актуализиране на разрешения, получаване на статистика за Pull Requests и интеграция с външни CI системи. Rate limit е 1000 заявки на час за удостоверени потребители. API поддържа пагинация чрез параметри Page и Pagelen за работа с големи набори от данни.

Често задавани въпроси

Какво е Bitbucket и за какво служи?

Bitbucket е платформата на Atlassian за съхранение на Git код с CI/CD, преглед на код и вградена интеграция с Jira. Използва се от екипи, които вече работят в екосистемата на Atlassian.

Как се различава Bitbucket Pipelines от GitHub Actions?

Pipelines използва pipe компоненти (готови стъпки от 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 контейнери с готови pipe компоненти от 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 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също