С 2015 года мы использовали в качестве git сервис Bitbucket, но недавно нам пришлось с ним попрощаться. Рассказываем, как искали замену Битбакету, почему выбрали Гитлаб и как мигрировали на новый сервис.
Предыстория
Очень давно для контроля разработки проектов мы начали использовать веб-сервис на системе контроля версий Git. Как-то исторически сложилось, что им стал Битбакет — проект Атлассиана.
В свое время на выбор Битбакета повлияла облачная инфраструктура Атлассиана с возможностью бесплатно создавать приватные репозитории кода (private) в неограниченном количестве и другими встроенными возможностями.
Какое-то время мы жили с Битбакетом и не знали бед: все работало исправно и мы были довольны.
И тут в марте Атлассиан объявил о том, что приостанавливает продажи лицензий в России.
Как говорится, кто предупрежден, тот вооружен. Мы начали постепенно искать другие варианты гита. И как выяснилось, не зря. В октябре 2022 года Алитласиан объявил, что уходит из РФ.
Как мы искали варианты
Смотрели альтернативы Битбакету среди отечественных и зарубежных сервисов.
Определили для себя критерии:
- Цена
Сравнивали цену за подписку с теми возможностями, которые сервисы за эту цену предоставляют. - Вероятность ситуации ухода с российского рынка.
Нам нужна была уверенность, что на новом гите мы сможем работать автономно и не будем зависеть от действий владельца. Мы искали гит, который может работать на локальном сервере, чтобы не повторилась ситуация с уходом с рынка. - Управляемость.
В целом почти все варианты, которые мы рассматривали, обладают +/- одинаковым функционалом. Мы определили самый необходимый для нас:
- Удобный интерфейс работы с кодом (тут все сервисы в целом одинаковые)
- Наличие ci/cd
- Наличие вики
- Наличие issues
- Наличие механизмов миграции данных
- Понятный механизм управления командами и проектами
В итоге остановили выбор на коробочной версии GitLab CE
Причины:
- Лежит на собственном сервере — встать и уйти не может
- Делает регулярные резервные копии
- Можно добавить неограниченное число пользователей
- Имеет полный функционал облака
Настройка и миграция проектов
Сам процесс установки и настройки VPS и GitLab описывать бессмысленно, мануалов довольно много. Расскажем, какими этапами мы шли.
- Вначале мы развернули портал и перенесли несколько проектов для теста в ручном режиме. В таком состоянии поработали несколько недель, убедились, что система стабильна.
- Настроили интеграцию с Битбакетом для миграции всех проектов. В целом это заняло около дня.
- Организовали планерку со всеми нашими специалистами, кто в этом участвует, и выбрали подходящий день для переезда, чтобы избежать сбоев в работе с проектами. Договорились на выходной день, когда и перенесли все проекты и подключили всех пользователей к системе.
- С Битбакета мы удалили почти всех пользователей, чтобы не было проблем с дубликатами и выгрузкой не с того репозитория.
- Написали небольшой мануал для разработчиков с конфигами под новый гит:
С понедельника начали работать на новом сервисе.
Какое понадобилось железо
Мы хостим свой проект на Beget. Чтобы использовать крайнюю версию Ubuntu и типовую установку, особых требований у Beget не было. К тому же у него даже есть вариант развернуть VPS сразу c GitLab.
Минимальные требования к серверу:
- Сервер должен быть не менее 4 CPU, RAM: 6 Гб, NVMe: 80 Гб
- Средняя нагрузка на процессор около 20%
В целом эти требования подходят для всех серверов. Но благодаря простому доступу к ресурсам нашего сервера, нас эти требования особо не беспокоят. Если система будет потреблять больше, мы легко можем увеличить мощность сервера.
Бекапирование
Без гита проблематично хранить рабочие версии кода и вносить изменения в проекты. Поскольку гит важен нам для работы, в автоматическом режиме мы ежедневно собираем резервную копию всей VPS. У нас эта функция есть на хостинге.
Риски
Поскольку Гитлаб приостановил продление лицензий в РФ, обновление GitLab CE до версии с расширенными функциями GitLab EE невозможно. Также это исключает использование платных функций версии GitLab CE.
История схожа с ситуацией про Атлассиан в марте 2022 года, но нас это не пугает.
Изменения в мире постоянно требуют усилий, чтобы адаптироваться к новым условиям. К изменениям мы привыкли, а вот без гита работать не можем.
Нюансы переезда
Особых сложностей с переездом не было. Напишем, на что еще стоит обратить внимание.
- Поначалу несколько людей не попали в свои проекты. Решается быстро через панель администрирования.
- Могут быть нюансы с доступами со стороны Битбакета, но решение этому можно легко нагуглить.
- Сотрудникам нужно было принять новую систему и в процессе работы с проектами менять файл конфигурации подключения с Битбакета на Гитлаб.
- Раньше цена на Биткакете была около 100$ в месяц. Сейчас мы платим около 1800 рублей в месяц, но это только за железо.
- Мы ставили сразу обычную версию. Если вы не уверены, что сервис вам подойдет, используйте пробную 30-дневную версию.
- Мы не использовали расширенные функции Битбакета раньше, поэтому то, что схожие платные функции GitLab стали недоступны, нас не коснулось.
Ещё больше наших кейсов, статей, практических рекомендаций для предпринимателей и маркетологов про разработку, маркетинг, аналитику, дизайн на нашем сайте: https://webest.ru/