Как использовать GitLab в условиях санкций

11 марта 2022 года GitLab заявили о приостановке продаж своих сервисов на территории России и Беларуси. После того как Gitlab ушел из России и Беларуси, у пользователей возникли сложности с регистрацией на сайте gitlab.com.

Кроме того, с проблемами столкнулись владельцы существующих аккаунтов: для получения кода подтверждения невозможно указать российский номер телефона. Однако IT-компаниям по-прежнему нужна надежная платформа для разработки программного обеспечения. Как решить проблему с регистрацией и доступом к площадке?

В этой статье мы рассмотрим варианты, как зарегистрироваться в ГитЛаб в России и предложим несколько вариантов решения проблем с доступом: расскажем об образах Гитлаб для облачных серверов, а также об аналогах этого сервиса.

GitLab: что это?

GitLab — это система управления и хранения репозиториев Git с открытым исходным кодом. С помощью GitLab можно писать новый код, тестировать и развертывать его самостостоятельно или в команде разработчиков.

Также в GitLab можно:

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

Существует две популярных версии Gitlab:

  1. Gitlab CE (Community Edition) с полностью открытым исходным кодом. Чаще всего именно эта версия используется на готовых решениях.
  2. Gitlab EE (Enterprise Edition) с частично закрытым исходным кодом. Существует бесплатная лицензия EE с базовой комплектацией, а также платная с дополнительным функционалом.

Минимальные системные требования к Gitlab касаются двух характеристик оборудования: количество ядер центрального процессора и размер оперативной памяти. Сначала опишем требования к центральному процессору.

Число ядер CPUЧисло пользователей
1до 100 пользователей
2до 500 пользователей
4до 2000 пользователей
8до 5000 пользователей

Требования ниже относятся к объему оперативной памяти (RAM).

Размер RAMЧисло пользователей
8 ГБдо 100 пользователей
16 ГБдо 2000 пользователей
32 ГБдо 4000 пользователей
64 ГБдо 8000 пользователей

GitLab и GitHub: в чем отличие

GitLab и GitHub — это платформы для управления репозиториями Git. В них много похожего функционала, например:

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

Однако GitLab и GitHub также имеют существенные различия. Мы сравнили оба сервиса:

GitLabGitHub
Можно работать в веб-версииМожно работать в веб-версии и на ОС Windows и macOS
Имеет открытый исходный кодИмеет закрытый исходный код
Можно развернуть на отдельном сервере или на облачном решенииЕсть бесплатный доступ к открытым репозиториям и платный — к приватным
Существуют и бесплатные, и платные версии Существуют только платные версии
Можно хранить проекты объемом до 1 ГБМожно хранить проекты объемом до 500 МБ. Если требуется больший объем, нужно установить Git LFS
Встроена платформа развертывания KubernetesВстроенной платформы развертывания нет
Источник: Shutterstock. Наиболее надежный и безопасный способ продолжать работу с сервисом Gitlab после введения санкций - это заказ облачного решения с предустановленным Gitlab или Gitlab Runner

Как зарегистрироваться в GitLab из России?

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

Существуют способы обхода ограничений GitLab в России (например, VPN или получение SMS на зарубежный номер), однако большинство из них небезопасны и могут подвести в любой момент: из-за этого пользователь рискует потерять доступ к аккаунту.

Наиболее надежный и безопасный способ продолжать работу с сервисом — это заказ облачного решения с предустановленным Gitlab или Gitlab Runner. Это позволит сохранить доступ к аккаунту и обеспечит бесперебойную работу системы.

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

  1. Gitlab на Ubuntu 22.04 LTS.
  2. Gitlab Runner на 24.04 LTS.

После заказа облачного сервера установка дополнительных программ не потребуется — можно приступить к работе сразу после активации сервера. Если вы хотите внести изменения в стандартные настройки, можно использовать статьи из Базы знаний Рег.ру.

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

Доступные аналоги GitHub и GitLab

Так как сервисы GitHub и GitLab подчиняются законодательству США, существует риск полной блокировки сервисов на территории России. Помимо этого, некоторым компаниям не подходит территория, где хранятся репозитории Gitlab.

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

GitFlic

GitFlic — это российский облачный сервис для разработки. Он был создан в качестве аналога gitlab.com, но на русском языке, по сути русский ГитЛаб.

В GitFlic предусмотрен функционал для совместной работы. Это значит, что с сервисом может работать не только один пользователь, но и команда программистов. Также GitFlic поддерживает хранение открытых (open-source) и приватных проектов.

Сервис GitFlic включает в себя инструменты, которые помогают довести проект с этапа создания до окончательного выпуска. Среди них:

  • система контроля версий,
  • масштабирование команд разработки,
  • непрерывная интеграция,
  • автоматическое тестирование и поддержка кастомных тестов,
  • анализ кода на безопасность при помощи SAST, DAST и SCA,
  • автоматизация сборки кода и многое другое.

Также в GitFlic включена дополнительная защита логина и пароля пользователей, которые работают над приватными проектами. Присоединиться к такому проекту без приглашения не получится: потребуется SSH-ключ, который позволит идентифицировать клиента при подключении.

GitFlic предоставляет два варианта решения: хранение в облаке и установка на собственное оборудование. Стоимость зависит от количества пользователей: облачное решение предоставляется бесплатно для команд до 5 человек. Если вам требуется большее число пользователей, взимается плата 250 рублей за каждого пользователя.

Решение для установки на личный сервер также имеет отличия по стоимости: оно предоставляется бесплатно для команд до 5 человек (аналогично облачному решению). Если вам нужно собрать команду с большим числом пользователей, стоимость обсуждается индивидуально. Список всех тарифов доступен на официальном сайте. Перед принятием решения советует ознакомиться с отзывами.

Gitee

Gitee — это китайский облачный сервис от Open Source China (OSChina). Он содержит более 10 миллионов репозиториев. Официальный сайт Gitee доступен на китайском и английском языках.

Отличительная особенность Gitee — это наличие инструментов для общения (например, прямой обмен сообщениями) и мощная поддержка платформы. Сервис поддерживают университеты и крупные компании, в числе которых Huawei. Также поддержку оказывает сообщество разработчиков и обычных пользователей.

Для удобства работы в Gitee встроена IDE — интегрированная среда разработки или редактор текста для разработчиков.

Цена этого решения зависит от тарифного плана и набора опций. Ознакомиться со стоимостью можно на официальном сайте Gitee.

Gogs

Gogs — это китайский сервис разработки, который написан на языке Go. Он позволяет работать с открытыми и частными репозиториями.

Gogs обладает рядом особенностей, среди которых:

  • поддержка популярных операционных систем, среди которых Windows, Linux (Ubuntu, Debian, CentOS, Almalinux и другие) и macOS;
  • низкая требовательность к ресурсам оборудования;
  • простая установка по инструкции;
  • поддержка протокола HTTP и ключей SSH;
  • работа в связке с сервисами непрерывной интеграции и организации конвейера для создания кода;
  • дизайн, схожий с GitHub;
  • интерфейс на русском языке;
  • интеграция с социальными сетями (Google+, QQ и Weibo) и многие другие.

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

RhodeCode

RhodeCode — это немецкая система управления репозиториями, которая ориентирована на работу с IT-компаниями. Она поставляется с частично открытым исходным кодом, поэтому при желании команда разработки может адаптировать платформу под свои нужды.

Отличительная особенность RhodeCode — это неограниченный размер репозиториев и разнообразие подключаемых систем управления. Например:

  • Git — популярной системы управления репозиториями,
  • Mercurial — системы управления крупными проектами кода,
  • Subversion — централизованной системы управления версиями кода.

Все системы управления доступны в едином интерфейсе RhodeCode.

У RhodeCode существует бесплатная версия, которую можно развернуть на собственном VPS или выделенном сервере. Также доступны варианты для предприятий и облачного решения с удаленным подключением. В этом случае стоимость составляет $75 за одного пользователя в год или от $8 за пользователя в месяц. Подробнее о тарифах и функционале можно узнать на официальном сайте RhodeCode.

Launchpad

Launchpad — это система управления проектами, которая создана компанией Canonical. Также эта компания разработала ОС семейства Linux под названием Ubuntu.

Инструменты Launchpad используются для следующих действий:

  • создания кода,
  • установки нового продукта для пользователей,
  • формирования метаданных для поисковых систем,
  • отслеживания ошибок в коде,
  • сборки пакетов ПО для системы Ubuntu и многих других.

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

Несмотря на то, что Gitlab ввел ограничения для российских пользователей, легальный способ обхода ограничений по-прежнему существует. Кроме того, на IT-рынке представлены несколько аналогичных систем управления репозиториями. Что касается новых сервисов, Минцифры продолжает работу по замещению ушедших продуктов.

Галина Ашмарина

Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний

А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Read More

Системы контроля версий: зачем они нужны и как их использовать

Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Read More

Соглашение об уровне обслуживания (SLA)

Поговорим о документе, который может серьезно повлиять на успех проекта, будь то интернет-магазин, SaaS-платформа или любой другой онлайн-сервис. Речь пойдет...
Read More

Что такое S3 (Simple Storage Service)

Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений...
Read More

Полный обзор NoSQL: особенности и использование

Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Read More

Как использовать DataSphere. Датасеты в DataSphere

Данные нужны в любой сфере: магазины анализируют продажи, в медцентры — истории болезней, ученые — результаты экспериментов. Чем больше информации,...
Read More

Основные задачи машинного обучения: классификация, регрессия, кластеризация и уменьшение размерности

Machine Learning ― это уже часть нашей повседневной жизни. От рекомендаций фильмов на Кинопоиске до спам-фильтров в почте — за...
Read More

Обзор CLI: командная строка и ее возможности

Когда были созданы первые компьютеры, операционной системой на них можно было управлять только при помощи ввода текстовых команд. Со временем...
Read More

Шардирование в базах данных: обзор концепции

В условиях стремительного роста объемов данных и увеличения нагрузок на информационные системы эффективность их масштабирования становится критически важной. Одним из...
Read More

Графический процессор (GPU): что это, для кого, разновидности

Дизайнерам, проектировщикам и разработчикам требуются мощные вычислительные ресурсы для работы. Обычный процессор (CPU) не справится с такими задачами, как обработка...
Read More