GitFflic
Облачный сервис хранения репозиториев исходного кода Gitflic в данный момент является частью инфраструктуры «Группы Астра». Он предлагает конечному пользователю для работы в качестве решения «Облачную инфраструктуру» (SaaS) и вариант для развёртывания «Собственного сервера» (Self-hosted) - оба варианта доступны в том числе и для бесплатного использования, с некоторыми ограничениями возможностей по сравнению с платной версией. При использовании облачного сервиса в бесплатном тарифе размер репозитория ограничен 4 Гб, с размером коммита не превышающим 100 Мб и количеством участников приватного проекта до 5 пользователей, в публичном разрешено безлимитное количество участников.
На главной странице сервиса заявлены следующие возможности (версия 3.2.1):
- Настройка и запуск автоматического тестирования исходного кода;
- Статический анализатор;
- Автоматизация процесса сборки, подготовки релизов, дальнейшего развёртывания и интеграции;
- Сбор статистики и багтрекер;
- Реестр контейнеров и пакетов для совместного использования в качестве зависимостей.
В документации поддерживаемые сервисом возможности описаны подробнее.
Зарегистрироваться (и авторизоваться) в сервисе можно как традиционным способом, указав почту и задав пароль, так и используя «Яндекс ID» или «VK ID». Выбор последних двух не удивителен, учитывая, что на сегодняшний день это одни из крупнейших IT компаний на территории РФ, предоставляющих множество собственных сервисов различной направленности.
Сразу после регистрации с помощью e-mail и пароля доступно создание «Приватного проекта» или импорт внешних репозиториев в качестве приватного проекта. Для создания публичных проектов необходимо авторизоваться с помощью OAuth2 (ВК/Яндекс) в настройках личного кабинета
- в разделе «Подтверждение аккаунта». Имеется поддержка двухфакторной авторизации с помощью «Authy», «Яндекс ключ», «Google Authenticator», «Microsoft Authenticator».
При этом в настройках двухфакторной аутентификации отмечают, что при включённой двухфакторной авторизации становится невозможными действия с репозиторием по HTTPS протоколу. Для взаимодействия необходимо использовать SSH протокол
.
При создании нового проекта предлагают выбрать владельца; ввести название проекта; выбрать «язык программирования»; задать URL проекта; задать описание; отметить нужно ли инициализировать проект с добавлением файла README.md, добавить .gitignore шаблон, добавить конфигурацию CI/CD контейнеров.
При импорте внешнего репозитория предлагается указать ссылку на git репозиторий; если нужно указать логин и токен; выбрать владельца; ввести название проекта; выбрать «язык программирования»; задать URL проекта; задать описание.
После создания или импорта внешнего репозитория в настройках «Опасной зоны» можно изменить видимость репозитория (сделать его публичным или снова приватным); отключить запрет force-push; передать репозиторий другому пользователю, команде или компании; сделать репозиторий PUSH зеркалом; удалить репозиторий.
В настройках аккаунта можно добавить SSH-ключ для доступа к репозиторию (на странице настройки заявлено: На данный момент тип шифрования RSA не поддерживается!
) и GPG-ключ для подписи коммитов. После добавления GPG ключа, коммиты в репозитории отображаются как «Верифицированные». Замечу, что для push в итоге я использовал именно RSA-ключ, либо я что-то не так понял при просмотре его свойств.
Также в настройках можно будет включить интеграцию репозитория с Telegram и Jira.
Клонирование, например, зеркала portage дерева Gentoo заняло примерно 4 минуты. Закончилось оно почему-то сообщением, о какой-то ошибке заполнения форм, но репозиторий был склонирован успешно. Открытие списка истории коммитов этого репозитория отображается у меня секунд через 20 (в репозитории больше 870 тыс. коммитов). Если кому-то время импорта показалось долгим, то тот же репозиторий в Gitlab импортировался ~4.5 минуты. Bitbucket справился за ~2.5 минуты
Gitverse
GitVerse — платформа для работы с исходным кодом, Git-репозиторий - платформа, разработанная компанией «СберТех» (дочерней структурой «Сбер»).
На заглавной странице пользователю представляют поддержку следующих возможностей платформы:
- Gigacode - AI-ассистент для помощи в разработке;
- GigaIDE - IDE на базе JB Idea/Pycharm Community, с дополнительными инструментами разработки, тестирования, администрирования + AI-ассистент Gigacode;
- GigaIDE Cloud - облачный вариант IDE;
- CI/CD-платформа с поддержкой AI;
- Трекер GitVerse для управления процессами и задачами;
- Вики - инструмент для создания статей и инструкций;
- Хранение артефактов (внешних пакетов зависимостей и контейнеров);
- Образовательная экосистема SmartClass.
На странице с дорожной картой перечислены текущие возможности платформы и запланированные в ближайшее время изменения. Среди запланированных есть мобильная версия сайта, поэтому не пугайтесь, если открываете страницу с репозиторием на сматрфоне - мобильная версия страницы выглядит неважно (плохо).
В наличии имеется страница «Зеркала репозиториев» некоторых проектов, размещённых на Github, для возможности синхронизации вместо исходного сервера.
Документация предлагает ответы на основные вопросы по работе на платформе.
Регистрация на текущий момент возможна с помощью «Сбер ID», что ожидаемо, или с помощью создания аккаунта (e-mail/пароль) на платформе-партнёра Cloud.ru - телефонный номер для подтверждения всё равно запросит. На странице дорожной карты пишут, что планируется добавить способы авторизации через популярные ID-сервисы и добавить поддержку 2FA.
В настройках аккаунта можно задать пароль, который можно будет использовать для работы с git репозиторием по HTTPS и для удаления аккаунта. Авторизоваться в сервисе с помощью этого пароля, по крайней мере при регистрации с помощью «Сбер ID», нельзя.
В настройках аккаунта можно добавить SSH-ключ для доступа к репозиторию. Добавление GPG-ключей для подписи коммитов пока не предусмотрено. Можно добавить токены для доступа к API GitVerse.
После регистрации доступно создание публичных и приватных репозиториев. Какие на них существуют ограничения по объёму я не нашёл, возможно, что их и нет, но на импортируемые репозитории с других сервисов заявлено ограничение 16 Гб.
При создании нового репозитория предлагают выбрать владельца; ввести название репозитория; задать описание; отметить сделать ли репозиторий шаблоном, отметить нужно ли инициализировать проект с добавлением файла README.md, добавить .gitignore.
При импорте внешнего репозитория предлагают выбрать сервис с которого будет производиться импорт: Gitgub, Gitlab, Github, «другой Git сервис», выбрать владельца нового репозитория, ввести название репозитория; задать описание; указать токен для получения данных приватного репозитория (если нужно).
СберТех располагает достаточно обширными мощностями и возможностями масштабирования платформы, поэтому импорт занял около 3 минут и список коммитов отображается у меня меньше чем через 3-4 секунды - примерно так же на зеркале Github. Bitbucket чуть шустрее (где в Bitbucket добавить GPG-ключ, я не нашёл).
На странице репозитория рядом с кнопкой действия в раскрывающемся меню есть дополнительные пункты «Открыть в VSCode», «Открыть в VSCodium», «Открыть в IntelliJ IDEA» - что при этом происходит не проверял.
P.S.
Как клонировать приватные репы через SSH с нуля? Например, через git clone git@github.com:user_name/provate_repo_name.git
не получилось, хотя для этого же репозитория в соседнем внешнем каталоге по SSH успешно происходит push.