Как и почему мы переехали с Битбакета на Гитлаб

Рассказываем, как искали замену Bitbucket, почему выбрали Гитлаб, как мигрировали на новый сервис и что из этого вышло.

С 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 стали недоступны, нас не коснулось.

Дата
22 декабря 2022
Поделиться
Станислав Никин

Обсудим проект?

Станислав Никин

Менеджер развития клиентов

Этот сайт использует сервис веб-аналитики Яндекс Метрика, предоставляемый компанией ООО «ЯНДЕКС», 119021, Россия, Москва, ул. Л. Толстого, 16 (далее — Яндекс), счетчик «top.mail.ru» и cookie файлы.

Подробнее