惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
C
Cyber Attacks, Cyber Crime and Cyber Security
SecWiki News
SecWiki News
AWS News Blog
AWS News Blog
P
Proofpoint News Feed
H
Help Net Security
I
InfoQ
T
Tor Project blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Schneier on Security
Schneier on Security
The GitHub Blog
The GitHub Blog
S
Schneier on Security
The Hacker News
The Hacker News
博客园 - Franky
雷峰网
雷峰网
S
Security @ Cisco Blogs
Google Online Security Blog
Google Online Security Blog
Engineering at Meta
Engineering at Meta
G
GRAHAM CLULEY
Security Latest
Security Latest
The Cloudflare Blog
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
K
Kaspersky official blog
C
Cisco Blogs
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
A
Arctic Wolf
Latest news
Latest news
Last Week in AI
Last Week in AI
The Register - Security
The Register - Security
Google DeepMind News
Google DeepMind News
博客园 - 聂微东
T
Threatpost
G
Google Developers Blog
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 热门话题
aimingoo的专栏
aimingoo的专栏
S
Securelist
WordPress大学
WordPress大学
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
T
The Exploit Database - CXSecurity.com
月光博客
月光博客
Recent Announcements
Recent Announcements

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром T-TOPS: Как распутать гордиев узел проекта после выхода в прод (меч не понадобится) Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Где хранить код? Сравнение GitHub, GitLab и Bitbucket
Sergey Proshchaev · 2026-04-16 · via Все публикации подряд на Хабре

Средний

9 мин

9.7K

Всем привет, меня зовут Сергей Прощаев. Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech, а ещё преподаю на курсах разработки и архитектуры в OTUS. В этой статье расскажу, куда заливать код в 2026 году, если вы начинающий разработчик, студент или даже небольшая команда. Тема кажется простой — выбрал GitHub и вперёд. Но когда начинаешь копать, всплывают лимиты CI/CD, цены, self-hosted возможности, интеграции с Jira и даже AI-помощники.

Сегодня разберём GitHub, GitLab и Bitbucket как есть. Сравним лимиты, покажу реальные сценарии, поделюсь best practices и даже вспомним историю, когда команда потеряла доступ к коду из-за недооценённого лимита.

Почему этот выбор актуален и сегодня?

Казалось бы, Git везде одинаковый. Но платформа определяет, как вы будете вести CI/CD, управлять доступом, показывать код рекрутерам и даже получать помощь от AI. Для junior-разработчика, который только создаёт портфолио, разница может быть незаметна. А вот для команды из трёх человек, которая хочет приватные репозитории и бесплатный CI, выбор между GitHub Actions и GitLab CI становится принципиальным.

Наверное, каждый, кто запускал стартап с командой больше двух человек, попадал в эту ловушку. Выбираешь Bitbucket, потому что в Jira уже живёт вся команда, и кажется — вот она, идеальная бесшовная связка. А через полгода внезапно осознаёшь: 50 минут бесплатного CI в Bitbucket Pipelines — это не просто цифра, это приговор. Когда фронтенд собирается 12 минут, а бэкенд — 20, лимит улетает за два-три пуша. Начинается колхозинг с внешними раннерами, костыли, потерянные нервы. Знакомо?

Три кита: GitHub, GitLab, Bitbucket в цифрах и фактах

Чтобы не лить воду, сразу сведу ключевые параметры в таблицу. Цены и лимиты актуальны на апрель 2026 года.

Параметр

GitHub

GitLab

Bitbucket

Пользователей

>150 млн

~30 млн (оценка)

~10 млн

Бесплатные приватные репозитории

Неограниченно

Неограниченно

Неограниченно (до 5 пользователей бесплатно)

Бесплатные минуты CI/CD

2000 мин/мес (Actions)

400 мин/мес для личных аккаунтов / 2000 мин/мес для групп (Shared runners)

50 мин/мес (Pipelines)

AI-помощник

GitHub Copilot (платный, ~$10/мес)

GitLab Duo (встроен в тарифы Premium+)

Отсутствует, только сторонние

Self-hosted

Self-hosted GitHub: Только для Enterprise (дорого)

Self-hosted runners: Доступны на всех тарифах, включая бесплатный

Бесплатная Community Edition

Data Center (платно)

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

Через Marketplace

Встроенная (средняя)

Нативная, лучшая

UI для новичка

Интуитивный, дружелюбный

Насыщенный, но порог входа выше

Устаревший, но простой

Цена за пользователя (мес)

$4 (Team)

$29 (Premium)

$3.30 (Standard)

Ограничения Free-подписки

• До 3 соавторов в приватных репозиториях (для личных аккаунтов, для организаций — неограниченно)

• 2000 минут GitHub Actions/мес• Copilot Free: 2000 дополнений кода + 50 чат-запросов/мес

• Запрещена загрузка файлов >100 МБ

• До 5 пользователей в приватных группах• 400 минут CI/мес

• 10 ГБ хранилища на проект

• До 3 групп верхнего уровня (после 27.01.2026)

• До 5 пользователей всего

• 50 минут Pipelines/мес

• 1 ГБ хранилища LFS

• Не более 10 параллельных шагов в пайплайне

Цифры показывают: GitHub лидирует по аудитории и бесплатным минутам CI. GitLab берёт enterprise-фичами и self-hosted. Bitbucket выигрывает ценой и связкой с Atlassian.

Но таблица — это только половина дела. Гораздо важнее понять, как эти цифры проявляются в реальной работе.

Сценарии использования: когда какая платформа выигрывает

GitHub: стандарт де-факто для открытого кода и портфолио

Если вы начинающий разработчик и хотите, чтобы ваш код видели рекрутеры — ответ однозначен: GitHub. Это социальная сеть для разработчиков. Зелёные квадратики вклада, звезды, форки — всё это часть культуры найма. Кроме того, GitHub Actions даёт 2000 минут в месяц даже на бесплатном тарифе. Для pet-проекта или стартапа из 2–3 человек этого хватит с головой.

Ещё один плюс — Copilot. Да, он платный, но многие компании оплачивают его сотрудникам. Для студента или self-taught разработчика Copilot бесплатен через GitHub Student Developer Pack. Я сам пользуюсь Copilot уже два года: он не пишет за меня архитектуру, но экономит часы на рутинных шаблонах.

Минус GitHub — это Microsoft. Кто-то до сих пор опасается вендор-лока, кто-то помнит скандалы с продажей кода для обучения AI. Но для 95% разработчиков это не критично.

GitLab: DevOps-комбайн для тех, кто хочет всё в одном месте

GitLab часто выбирают команды, которым нужен не просто хостинг кода, а полноценная платформа для CI/CD, безопасности, управления требованиями и даже мониторинга. Всё «из коробки». Не надо настраивать связку GitHub + Jenkins + SonarQube — в GitLab это уже есть.

Особо хочу выделить self-hosted Community Edition. Если ваша компания по compliance причинам не может хранить код в облаке, GitLab даёт бесплатную возможность поднять свой сервер. GitHub такого не предлагает вообще (только платный Enterprise). Я ставил GitLab на собственный VPS за 30 минут — и получил приватное хранилище с CI/CD, которого нет у Bitbucket в self-hosted версии для малого бизнеса.

Порог входа, правда, выше. Интерфейс GitLab перегружен, новичок может потеряться в меню CI/CD → Pipelines → Jobs → Artifacts. Но если вы планируете работать в enterprise или расти как DevOps-инженер, изучение GitLab окупится.

Bitbucket: выбор тех, кто уже в экосистеме Atlassian

Bitbucket часто недооценивают, и зря. Если ваша команда активно использует Jira и Confluence, связка получается практически бесшовной: ветки автоматически привязываются к задачам, статусы сборок отображаются в Jira, а документация — рядом с кодом.

Главное ограничение Bitbucket — лимит CI/CD. 50 бесплатных минут в месяц — самый низкий показатель среди трёх платформ. Для пет-проекта с редкими пушами этого может хватить, но для команды, которая делает хотя бы 5–10 сборок в день, лимит исчерпывается за первую неделю.

Для сравнения: те же 50 минут стоят около $10 при покупке дополнительного пакета, что быстро делает бесплатный тариф экономически невыгодным. Поэтому Bitbucket обычно используют либо совсем маленькие команды, которые не гоняют пайплайны часто, либо крупные enterprise с платными раннерами и бюджетами.

Для начинающего разработчика Bitbucket — не лучший выбор. Сообщества почти нет, открытых проектов мало, рекрутеры редко просят показать профиль на Bitbucket.

Best practices: как команды выбирают платформу

На основе своего опыта и наблюдений за успешными командами сформулировал несколько правил, которые экономят в итоге время.

1. Начинайте с матрицы сценариев, а не с бренда

Не берите платформу, потому что «все сидят на GitHub». Спросите себя:

  • Кто будет пользоваться репозиторием? Только я или команда из 5 человек?

  • Нужен ли CI/CD и какой интенсивности?

  • Важен ли self-hosted?

  • Используем ли мы Jira/Confluence?

  • Есть ли бюджет на платные тарифы?

Для 90% соло-разработчиков и небольших команд ответ — GitHub. Но если вы делаете внутренний продукт с жёсткими требованиями безопасности — смотрите в сторону self-hosted GitLab.

2. Не экономьте на CI/CD минутах, если проект растёт

Один из самых частых провалов: команда выбирает Bitbucket из-за дешевизны, но через три месяца упирается в лимит 50 минут. Начинаются танцы с бубном: кэширование зависимостей, параллельные шаги, покупка дополнительных минут по $10 за 1000 минут (дороже, чем сам тариф). В итоге либо платят больше, либо мигрируют.

Правило большого пальца: если сборка занимает больше 10 минут и запускается хотя бы 10 раз в день, вам нужно минимум 3000 минут в месяц. GitHub Actions на бесплатном тарифе даёт 2000, GitLab — всего 400. Поэтому на GitLab бесплатно вы будете жить только если редко пушите или используете собственные раннеры.

3. Документируйте выбор платформы в onboarding-гайде

Когда в компанию приходит новый разработчик, он не должен гадать, почему мы используем именно GitLab, а не GitHub. У нас в команде есть короткий документ в Confluence: «Почему мы выбрали GitLab». Там расписаны причины (self-hosted, встроенный container registry, security scanning), ссылки на инструкции по настройке локального раннера. Это снимает кучу вопросов и ускоряет адаптацию.

Живая история: как сбой в Bitbucket Pipelines чуть не сорвал релиз

Чтобы не быть голословным, расскажу реальный случай из практики моего знакомого, работавшего в небольшой продуктовой компании. Команда из 7 разработчиков использовала Bitbucket + Jira. Всё было хорошо, пока не наступил день релиза крупной фичи. Пайплайн включал сборку Docker-образа, прогон интеграционных тестов и деплой на staging.

Обычно сборка занимала 18 минут. Но в этот день Bitbucket Pipelines начал вести себя непредсказуемо: воркеры зависали, сборка падала по таймауту. Оказалось, в их регионе (Сидней) были проблемы с инфраструктурой Atlassian. Техподдержка ответила через 4 часа, предложив переключиться на другой регион. Но миграция пайплайнов заняла бы ещё день.

Команда нашла нестандартный выход: они не стали ждать поддержку, а за 2 часа подняли на AWS EC2 собственный раннер Bitbucket (это называется self-hosted runner). В файле bitbucket-pipelines.yml просто прописали для проблемного шага runs-on: self.hosted — и сборка перестала зависеть от перегруженных облачных серверов Atlassian. Релиз ушёл с задержкой в 6 часов, но ушёл.

Вывод: не кладите все яйца в корзину облачного CI. Имейте запасной план — будь то self-hosted раннер или зеркало репозитория на другой платформе. Кстати, в OTUS на курсах по инфраструктуре мы разбираем подобные сценарии детально.

Неочевидные фичи, о которых молчат маркетологи

GitHub: Codespaces и секреты организации

Мало кто из новичков знает, что GitHub даёт 60 часов бесплатного использования Codespaces в месяц. Это полноценная среда разработки в браузере. Для владельцев слабых ноутбуков или тех, кто часто меняет машины — спасение. Ещё фишка — секреты уровня организации. Можно задать переменные окружения для всей организации, и они автоматически подтянутся в Actions всех репозиториев. Удобно для API-ключей.

GitLab: Auto DevOps одной кнопкой

В GitLab есть Auto DevOps — предварительно настроенный пайплайн, который сам определяет тип проекта (Node.js, Python, Java), запускает сборку, тесты, сканирование безопасности и деплой в Kubernetes. Я показывал эту фичу студентам на курсе — у них глаза горели. Для быстрого старта CI/CD без погружения в YAML-дебри — идеально.

Bitbucket: зеркалирование в GitHub

В Bitbucket можно настроить автоматическое зеркалирование репозитория в GitHub. Таким образом, ваш основной код живёт в приватном Bitbucket, а публичная версия (без чувствительных данных) автоматически синхронизируется с GitHub. Это используют компании, которые хотят показать часть кода open-source сообществу, но держать основной репозиторий в закрытом контуре.

Так куда же заливать код: простая матрица решений

Давайте соберём всё в удобную схему. Вот диаграмма (рис. 1), которая поможет быстро принять решение.

Рис. 1. Матрица выбора платформы для хранения кода

Рис. 1. Матрица выбора платформы для хранения кода

Эта схема — по сути, алгоритм, который отсекает лишние варианты в зависимости от ваших реальных потребностей. Главные выводы:

  1. Вопрос self-hosted — первый и решающий. Если вам принципиально важно держать код на собственных серверах, выбор сразу сужается до GitLab Community Edition (бесплатно) или платных Enterprise-решений. GitHub из этой гонки выбывает — его self-hosted доступен только по дорогой корпоративной лицензии.

  2. Open-source и портфолио почти всегда ведут в GitHub. Если вы делаете публичный проект, ищете работу или хотите, чтобы ваш код видели рекрутеры, — дорога одна. Рынок давно воспринимает GitHub как стандартную «витрину» разработчика.

  3. CI/CD больше 2000 минут в месяц — сигнал к действию. На бесплатных тарифах GitHub даёт щедрые 2000 минут, но если вы перерастаете этот лимит, схема подсказывает: пора смотреть в сторону GitLab с собственными раннерами. Это дешевле, чем докупать минуты у GitHub, и даёт полный контроль над пайплайнами.

  4. Bitbucket в этой схеме отсутствует не случайно. Он остаётся нишевым решением для команд, уже глубоко «женатых» на Jira и Confluence. Для всех остальных сценариев — GitHub или GitLab оказываются либо более выгодными, либо более функциональными вариантами.

Если вы всё ещё сомневаетесь — вот вторая схема (рис. 2), более детальная по критериям.

Рис. 2. Сравнение платформ по ключевым критериям

Рис. 2. Сравнение платформ по ключевым критериям

На диаграмме хорошо видно расстановку сил в 2026 году. GitHub безоговорочно лидирует по популярности, объёму бесплатных CI/CD-минут и качеству AI-помощника — это его «краеугольные камни». Bitbucket, напротив, проигрывает по этим направлениям, но остаётся привлекательным за счёт самой низкой цены и бесшовной интеграции с экосистемой Atlassian (Jira, Confluence). GitLab занимает сбалансированную позицию: он не дотягивает до лидера по AI и сообществу, но даёт мощный встроенный CI/CD и возможность self-hosted, что не отражено на диаграмме, но критично для многих команд.

Главный вывод из схемы: выбирая платформу, вы фактически определяете, что для вас важнее — максимальная видимость и современные AI-инструменты (GitHub), низкая стоимость и интеграции с Jira (Bitbucket) или полный контроль над DevOps-циклом (GitLab).

Заключение: не храните код «лишь бы где»

Выбор платформы для кода — это не техническая мелочь, а стратегическое решение. Оно влияет на скорость разработки, стоимость инфраструктуры и даже на карьерные перспективы. GitHub остаётся королём для открытого кода и портфолио. GitLab незаменим для тех, кто хочет полный DevOps-цикл и контроль над данными. Bitbucket — компромисс для команд, глубоко интегрированных в Atlassian-экосистему.

Главное — не выбирайте вслепую. Посчитайте минуты CI, оцените потребность в self-hosted, подумайте о кривой обучения. А если хотите научиться проектировать инфраструктуру осознанно и избегать дорогих ошибок, приходите на бесплатные демо-уроки. У нас есть целое направление курсов по инфраструктуре для разработчиков: от основ CI/CD до продвинутых практик эксплуатации. Расписание и список программ — в каталоге.

Особенно рекомендую обратить внимание на эти уроки:

  • 23 апреля, 19:00. «Интегрируем EDT в процессы непрерывной интеграции. Подключаем 1С к CI/CD.». Записаться

  • 30 апреля, 20:00. «Планируем внедрение DevSecOps — что следует учесть?». Записаться