Почему мы переехали с Битбакета на Гитлаб и что из этого вышло
logo

Почему мы переехали с Битбакета на Гитлаб и что из этого вышло

B2B Развитие бизнеса

С 2015 года мы использовали в качестве git сервис Bitbucket, но недавно нам пришлось с ним попрощаться. Рассказываем, как искали замену Битбакету, почему выбрали Гитлаб и как мигрировали на новый сервис.

Предыстория

Очень давно для контроля разработки проектов мы начали использовать веб-сервис на системе контроля версий Git. Как-то исторически сложилось, что им стал Битбакет — проект Атлассиана.

В свое время на выбор Битбакета повлияла облачная инфраструктура Атлассиана с возможностью бесплатно создавать приватные репозитории кода (private) в неограниченном количестве и другими встроенными возможностями.

Какое-то время мы жили с Битбакетом и не знали бед: все работало исправно и мы были довольны. 

И тут в марте Атлассиан объявил о том, что приостанавливает продажи лицензий в России.

Как говорится, кто предупрежден, тот вооружен. Мы начали постепенно искать другие варианты гита. И как выяснилось, не зря. В октябре 2022 года Алитласиан объявил, что уходит из РФ.

Как мы искали варианты

Смотрели альтернативы Битбакету среди отечественных и зарубежных сервисов.

Определили для себя критерии:

  1. Цена
    Сравнивали цену за подписку с теми возможностями, которые сервисы за эту цену предоставляют.

  2. Вероятность ситуации ухода с российского рынка.
    Нам нужна была уверенность, что на новом гите мы сможем работать автономно и не будем зависеть от действий владельца. Мы искали гит, который может работать на локальном сервере, чтобы не повторилась ситуация с уходом с рынка. 

  3. Управляемость.
    В целом почти все варианты, которые мы рассматривали, обладают +/- одинаковым функционалом. Мы определили самый необходимый для нас:

  • Удобный интерфейс работы с кодом (тут все сервисы в целом одинаковые)

  • Наличие ci/cd

  • Наличие вики

  • Наличие issues 

  • Наличие механизмов миграции данных

  • Понятный механизм управления командами и проектами

В итоге остановили выбор на коробочной версии GitLab CE 

Причины:

  • Лежит на собственном сервере — встать и уйти не может

  • Делает регулярные резервные копии

  • Можно добавить неограниченное число пользователей

  • Имеет полный функционал облака

Настройка и миграция проектов

Сам процесс установки и настройки VPS и GitLab описывать бессмысленно, мануалов довольно много. Расскажем, какими этапами мы шли.

  1. Вначале мы развернули портал и перенесли несколько проектов для теста в ручном режиме. В таком состоянии поработали несколько недель, убедились, что система стабильна. 

  2. Настроили интеграцию с Битбакетом для миграции всех проектов. В целом это заняло около дня. 

  3. Организовали планерку со всеми нашими специалистами, кто в этом участвует, и выбрали подходящий день для переезда, чтобы избежать сбоев в работе с проектами. Договорились на выходной день, когда и перенесли все проекты и подключили всех пользователей к системе. 

  4. С Битбакета мы удалили почти всех пользователей, чтобы не было проблем с дубликатами и выгрузкой не с того репозитория. 

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

С понедельника начали работать на новом сервисе.

Какое понадобилось железо 

Мы хостим свой проект на Beget. Чтобы использовать крайнюю версию Ubuntu и типовую установку, особых требований у Beget не было. К тому же у него даже есть вариант развернуть VPS сразу c GitLab.

Минимальные требования к серверу:

  • Сервер должен быть не менее 4 CPU, RAM: 6 Гб, NVMe: 80 Гб 

  • Средняя нагрузка на процессор около 20% 

В целом эти требования подходят для всех серверов. Но благодаря простому доступу к ресурсам нашего сервера, нас эти требования особо не беспокоят. Если система будет потреблять больше, мы легко можем увеличить мощность сервера.

Бекапирование

Без гита проблематично хранить рабочие версии кода и вносить изменения в проекты. Поскольку гит важен нам для работы, в автоматическом режиме мы ежедневно собираем резервную копию всей VPS. У нас эта функция есть на хостинге.

Риски

Поскольку Гитлаб приостановил продление лицензий в РФ, обновление GitLab CE до версии с расширенными функциями GitLab EE невозможно. Также это исключает использование платных функций версии GitLab CE.

 

История схожа с ситуацией про Атлассиан в марте 2022 года, но нас это не пугает. 

Изменения в мире постоянно требуют усилий, чтобы адаптироваться к новым условиям. К изменениям мы привыкли, а вот без гита работать не можем. 

Нюансы переезда

Особых сложностей с переездом не было. Напишем, на что еще стоит обратить внимание.

  1. Поначалу несколько людей не попали в свои проекты. Решается быстро через панель администрирования. 

  2. Могут быть нюансы с доступами со стороны Битбакета, но решение этому можно легко нагуглить.

  3. Сотрудникам нужно было принять новую систему и в процессе работы с проектами менять файл конфигурации подключения с Битбакета на Гитлаб.

  4. Раньше цена на Биткакете была около 100$ в месяц. Сейчас мы платим около 1800 рублей в месяц, но это только за железо.

  5. Мы ставили сразу обычную версию. Если вы не уверены, что сервис вам подойдет, используйте пробную 30-дневную версию.

  6. Мы не использовали расширенные функции Битбакета раньше, поэтому то, что схожие платные функции GitLab стали недоступны, нас не коснулось.

Вопросы по статье
У вас возникли вопросы по статье? Напишите нам, и мы ответим в течение рабочего дня
Интересные материалы не чаще раза в месяц — в нашей рассылке