Bitbucket — это Git-платформа от компании Atlassian, интегрированная с Jira, Confluence и другими инструментами экосистемы. Bitbucket предоставляет хостинг Git-репозиториев, встроенный CI/CD через Bitbucket Pipelines и мощные инструменты для код-ревью. По данным Atlassian, 2024, Bitbucket используют более 10 миллионов разработчиков и 800 000 команд по всему миру.
Главное
Bitbucket — это веб-платформа для хостинга Git-репозиториев, разработанная компанией Atlassian. Изначально Bitbucket поддерживал только Mercurial (с 2008 года), но после закрытия Mercurial-поддержки в 2020 году полностью перешёл на Git. Платформа доступна в двух редакциях: Bitbucket Cloud (SaaS, хостинг Atlassian) и Bitbucket Data Center (самописная версия для Enterprise).
Основное преимущество Bitbucket перед конкурентами — глубокая интеграция с продуктами Atlassian. Jira автоматически привязывает коммиты и Pull Request к задачам, Confluence позволяет встраивать код-сниппеты в документацию, а Opsgenie связывает деплои с инцидентами. Для команд, уже использующих Atlassian-экосистему, Bitbucket — естественный выбор, так как он не требует настройки дополнительных интеграций.
Bitbucket Cloud предоставляет несколько уровней хостинга. Бесплатный тариф включает одного пользователя и ограниченное хранилище (1 ГБ). Стандартный тариф — 3 доллара на пользователя в месяц с неограниченным количеством приватных репозиториев и 2500 минут Pipelines в месяц. Bitbucket использует пользовательскую модель лицензирования: тарифицируется каждый пользователь, имеющий доступ к репозиторию, включая read-only.
Bitbucket Pipelines — это встроенная система CI/CD, которая работает на базе Docker-контейнеров. Pipelines интегрирован непосредственно в Bitbucket Cloud и не требует установки отдельных раннеров или настройки webhook. Конфигурация описывается в файле bitbucket-pipelines.yml, расположенном в корне репозитория. Каждый pipeline состоит из шагов (steps), объединённых в последовательности.
Pipelines поддерживает параллельные шаги, ручной запуск, триггеры по пушам и расписанию, кэширование зависимостей и артефакты. Каждый шаг выполняется в изолированном Docker-контейнере, образ которого задаётся в конфигурации. Ниже приведён пример pipeline для сборки Android-приложения с тестированием и публикацией в 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 имеет ограничение в 50 минут на один pipeline для Cloud-версии, что достаточно для большинства проектов, но может быть узким местом для больших монорепозиториев. Для Data Center ограничение снимается полностью — продолжительность pipeline определяется только доступными ресурсами сервера. Pipelines также поддерживает пользовательские образы Docker, что позволяет использовать любые инструменты сборки и тестирования.
Pull Request в Bitbucket реализован с акцентом на корпоративные процессы код-ревью. Bitbucket предлагает: inline-комментарии к конкретным строкам diff, обязательные проверки (checks) от Pipelines или внешних сервисов, минимальное количество аппрувов для слияния, блокировка merge до прохождения всех проверок, и декларация конфликта интересов (decline). Интерфейс PR разбит на три колонки: исходный код, diff и файловая структура.
Уникальная функция Bitbucket — Code Insights. Это API для интеграции внешних инструментов качества кода (SonarQube, CodeScene, ESLint, Detekt), которые отображают свои результаты прямо в интерфейсе Pull Request. Разработчик видит: количество новых багов, покрытие тестами, code smells и duplications. Code Insights позволяет принимать решение о merge на основе объективных метрик, а не только субъективного мнения ревьюера.
Bitbucket также поддерживает веточные ограничения (branch permissions): можно запретить удаление веток, обязать создавать PR для определённых веток, ограничить список пользователей, имеющих права на merge в main. Дополнительно есть merge checks — список обязательных условий (Pipelines пройден, минимум N аппрувов, нет незакрытых комментариев), которые должны быть выполнены перед кнопкой Merge. Настройки защищают production-ветку от случайных непроверенных изменений.
Интеграция Bitbucket с Jira — ключевое преимущество платформы. Когда разработчик включает в сообщение коммита ключ задачи (например, PROJ-123), Jira автоматически привязывает этот коммит к задаче. В интерфейсе задачи отображается вкладка Development, где собраны все коммиты, Pull Request, ветки и деплои, связанные с этой задачей. PR автоматически обновляют статус задачи в Jira при слиянии (переход в Done).
Confluence также интегрируется с Bitbucket: можно вставлять в Confluence-страницы живые код-сниппеты из репозитория через макрос Code Block. Изменения в коде автоматически синхронизируются с Confluence, что удобно для ведения архитектурной документации. Дополнительно Atlassian предоставляет Smart Commits — управление Jira-задачами прямо из сообщения коммита: переход по статусу, добавление времени и приоритетов.
Для DevOps-автоматизации Bitbucket поддерживает Deployment Gate — привязку деплоя к версии задачи. Когда pipeline достигает стадии деплоя, Jira проверяет, все ли задачи в данном релизе имеют статус Approved. Если нет — деплой блокируется. Это реализует принцип Continuous Delivery с контролем качества на уровне задач, а не только кода.
Bitbucket позволяет создавать шаблоны репозиториев для стандартизации структуры проектов. Для мобильных проектов можно создать шаблон с предустановленными файлами: конфигурация Gradle, gitignore, настройки Detekt и Ktlint, pipeline для Android CI и README с инструкцией по сборке. Новый проект создаётся из шаблона за несколько кликов, что ускоряет онбординг новых разработчиков.
Сравнение Bitbucket с GitHub и GitLab зависит от экосистемы, в которой работает команда. Bitbucket проигрывает GitHub по размеру сообщества (10 млн против 100 млн пользователей), но выигрывает в корпоративных интеграциях благодаря Atlassian-стеку. Если команда уже использует Jira для управления задачами и Confluence для документации — Bitbucket даёт бесшовную интеграцию без дополнительных настроек.
По CI/CD Bitbucket Pipelines уступает GitLab CI/CD в продвинутых сценариях (нет child pipelines, матричных сборок, многоуровневых пайплайнов) и GitHub Actions по количеству готовых действий (Marketplace Actions содержит 20 000+ шагов против тысяч публичных пайпов в Bitbucket). Однако Pipelines проще в настройке для типовых сценариев благодаря готовым pipe-компонентам от Atlassian.
| Критерий | Bitbucket | GitHub | GitLab |
|---|---|---|---|
| CI/CD | Pipelines, 50 мин/шаг | Actions, 2000 мин/мес | CI/CD, без лимитов (Self) |
| Интеграция | Jira, Confluence | Copilot, Slack, Azure | Kubernetes, Prometheus |
| Self-Hosted | Data Center (платно) | Enterprise Server | CE (бесплатно) |
| Пользователи | ~10 млн | ~100 млн | ~30 млн |
| Лицензия | Проприетарная | Проприетарная | MIT (открытый код) |
Выбор Bitbucket оправдан в двух сценариях: команда уже использует Atlassian-экосистему (Jira + Confluence + Opsgenie) или работа ведётся в корпоративной среде, где Bitbucket Data Centre уже развёрнут как стандартный инструмент. Для стартапов и open-source проектов GitHub предлагает более богатое сообщество и бесплатные функции, а GitLab — лучший самописный CI/CD.
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 — инструмент для хранения и обмена небольшими фрагментами кода. В отличие от репозиториев, Snippets не имеют полной истории Git, но поддерживают версионирование, комментарии и форки. Snippets полезны для shared конфигураций (docker-compose.yml для локальной разработки), SQL-скриптов миграций и примеров кода, которые не требуют полноценного репозитория. Каждый Snippet имеет уникальный URL и может быть привязан к проекту в Jira.
Bitbucket REST API 2.0 позволяет программно управлять репозиториями, Pull Request, ветками и разрешениями. API используется для автоматизации рабочих процессов: создание репозитория по шаблону, массовое обновление разрешений, получение статистики Pull Request и интеграция с внешними CI-системами. Rate limit составляет 1000 запросов в час для аутентифицированных пользователей. API поддерживает Pagination через Page и Pagelen параметры для работы с большими наборами данных.
Часто задаваемые вопросы
Bitbucket — это платформа Atlassian для хранения Git-кода с CI/CD, код-ревью и встроенной интеграцией с Jira. Используется командами, которые уже работают в экосистеме Atlassian.
Pipelines использует pipe-компоненты (готовые шаги от Atlassian), проще для типовых задач. GitHub Actions предлагает более широкий Marketplace и гибкие матричные сборки, но требует больше настройки.
Для команды из 5 человек Bitbucket Cloud Standard обойдётся в 15 долларов в месяц (3 доллара за пользователя). Бесплатный тариф доступен только для одного пользователя с ограниченным функционалом.
Bitbucket предоставляет встроенный импортёр из GitHub, GitLab и других платформ. В интерфейсе выберите Import repository, укажите URL и данные аутентификации — все коммиты и ветки будут перенесены.
Data Center — корпоративная версия Bitbucket для установки на собственные серверы с кластеризацией, Smart Mirroring и аудитом. Подходит для организаций с сотнями разработчиков и требованиями к безопасности данных.
Итоги
Мы разработаем мобильное приложение под ключ
IT Sectr создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.
Читайте также