Почему GitFlic — это надёжнее и удобнее чем GitHub и GitLab?
GitFlic — полностью российский продукт, созданный с нуля. Полная или нет это замена GitHub и GitLab — нам предстоит разобраться в статье, поэтому собрали основные инструменты и возможности GitFlic.
321 открытий1К показов
В последние пару лет для российских разработчиков на первый план вышли вопросы безопасности и доступности инструментов. Зависимость от международных сервисов стала головной болью: блокировки GitHub или ограничение возможностей GitLab показали, что контроль и доступ к своим проектам — это то, что нужно оценивать в первую очередь при работе с платформой.
Примеров хватает. В апреле 2022 года GitHub заблокировал аккаунты ряда российских разработчиков и компаний, включая Сбербанк и Альфа-Банк. Дальше в марте того же года GitLab приостановил продажи своих корпоративных и платных сервисов в России и Беларуси для новых клиентов. Ситуацию усугубляет запрет на оказание американским компаниям IT-услуг российским клиентам. Это говорит о том, что даже текущие пользователи GitHub и GitLab находятся в зоне риска. Особенно, если учитывать, что тот же GitHub принадлежит Microsoft, которая активно соблюдает санкции.
Такая цепочка событий показала: нужно думать об альтернативах, которые не зависят от внешнеэкономической ситуации.
Что делать? Опираться на свои решения. Именно этим и стала платформа GitFlic — полностью российский продукт, созданный с нуля. Это не очередной форк популярного ПО, а самостоятельная платформа, которая закрывает все потребности разных пользователей — от индивидуальных разработчиков до крупных организаций. Полная или нет это замена GitHub и GitLab — нам предстоит разобраться в статье, поэтому собрали основные возможности GitFlic.
Возможности GitFlic
В GitFlic реализовано много инструментов, которые покрывают все этапы жизненного цикла разработки — от написания кода до его тестирования, сборки и выпуска.
Управление проектами, репозиториями и кодом
В GitFlic все заточено под понятное управление проектами и репозиториями. Тут важно понимать: в контексте GitFlic проект включает в себя не только репозиторий, но и запросы на слияние, проблемы, CICD, релизы, реестр контейнеров и пакетов и многое другое.
Сам репозиторий управляется через систему контроля версий, чтобы следить за изменениями, смотреть историю коммитов, быстро откатываться к нужным версиям и работать в команде. Интерфейс интуитивный, поэтому даже сложные процессы вроде настройки CI/CD или деплоя можно сделать без дополнительных инструкций.
- Для начинающих разработчиков GitFlic подойдет для настройки первых личных репозиториев. Он позволяет делиться проектами с коллегами и оттачивать навыки работы с системой контроля версий.
- Для команд разработки платформа поддерживает команды разработки любых масштабов — от небольших проектов до крупных корпоративных репозиториев. Причем работа проходит в независимой среде без блокировок или потери данных.
Встроенный редактор кода удобен тем, что позволяет вносить изменения в код прямо в браузере, что особенно полезно для небольших правок или быстрого редактирования файлов.
Запросы на слияние: анализ работы и решение конфликтов
Для полноценной командной работы есть специальный инструмент — запросы на слияние (Merge Request). Он позволяет вести независимую разработку всем участникам проекта и объединять изменения.
Слияние веток в GitFlic можно настроить под задачи команды. Например, перед слиянием можно добавить проверки на уязвимости, убедиться, что все тесты пройдены, и решить конфликты в коде. Все зависит от ваших процессов и требований к проекту.
Ответственных за слияние можно задать в настройках проекта, выбрав нужных участников команды. Помимо этого, настройки предлагают дополнительные полезные функции: например, можно настроить автоматическое слияние по заданным правилам или выбрать предпочитаемый метод создания запросов на слияние.
Назначение ответственных за запросы на слияние и владелец кода
В GitFlic можно назначать ответственных за запросы на слияние (Merge Requests), чтобы распределить задачи по проверке кода. Это позволит:
- Определить конкретных ревьюеров для каждого изменения.
- Сократить время на рассмотрение и слияние изменений.
- Настроить требования для ревью, например, обязательное одобрение со стороны всех назначенных ревьюеров.
Функция владельцев кода (Code Owners) позволяет:
- Закрепить ответственных за конкретные директории или файлы.
- Настроить автоматические уведомления при изменении файлов, за которые отвечают назначенные владельцы кода.
CI/CD: тестирование и сборка приложений
GitFlic имеет свою реализацию CI/CD: процессы описываются с помощью декларативного языка в формате YAML, который совместим с gitlab-ci.yaml.
С помощью этих функций можно настраивать автоматическое тестирование и развёртывание кода — это снижает вероятность ошибок и ускоряет процесс релиза новых версий.
Что это даёт?
- Для разработчиков: меньше ручной работы, автоматическая проверка кода при каждом коммите, ускорение релизов.
- Для бизнеса: снижение времени вывода продукта на рынок, что критично в условиях высокой конкуренции.
Автоматизация процессов — это не только постоянная рабочая таска тимлида, а необходимость в современных командах. GitFlic упрощает эту задачу, позволяя разработчикам сосредоточиться на коде, а не на технических настройках.
Каждый конвейер можно рассмотреть детально: например, если вы хотите узнать, на каком этапе он находится или какие есть ошибки. Кстати, каждую задачу в рамках конкретного конвейера тоже можно посмотреть детально, чтобы увидеть лог её выполнения.
Отдельно стоит выделить наличие юнит-тестов — они нужны, чтобы проверять работу отдельных единиц кода. GitFlic умеет обрабатывать отчёты о юнит-тестах и выводить их в интерфейсе, без необходимости искать проблемные тесты в логах.
Интеграционные скрипты для автоматизации процессов
В GitFlic можно напрямую влиять на поведение платформы, интегрировать ее со внешними сервисами и задавать свою логику работы, не зависеть от встроенного функционала.
Перейдя внутрь конкретного скрипта вы можете увидеть его содержимое, а в случае необходимости — отредактировать. Подключив скрипт к проекту, можно наблюдать за результатами его выполнения: например, если есть какая-то ошибка выполнения, в логах можно увидеть причину этой ошибки.
Скрипты можно запускать:
- По событиям (например, коммит, pull request).
- По внешнему запросу через API.
- Вручную, когда это необходимо.
Например, вы хотите, чтобы при каждом pull request отправлялся кастомный HTTP-запрос во внешнюю систему? Пожалуйста. Нужно уведомление в корпоративный трекер? Нет проблем — просто напишите скрипт.
Можно не ограничиваться встроенными интеграциями и настроить взаимодействие с любым сервисом, протестировать новые подходы и выстроить платформу под свои нужды.
Интеграция с Jenkins: примеры и возможности
GitFlic команда выложила пример интеграции с Jenkins, основанный на использовании интеграционных скриптов. Посмотреть его можно здесь. Отличная отправная точка, если вы хотите быстро настроить связку между платформами.
Есть два основных сценария работы:
- Запуск задач по событию: например, вы хотите, чтобы сборка или тесты автоматически стартовали после каждого коммита.
- Создание «зеркальных» конвейеров: управление пайплайнами Jenkins напрямую из GitFlic, синхронизируя процессы между платформами.
Любой пользователь может не только использовать готовые решения, но и вносить свой вклад в развитие экосистемы — добавить интеграцию с новым сервисом или улучшить существующие примеры. С интеграционными скриптами у команды появляется больше свободы: не нужно ждать, пока команда CitFlic сделает интеграцию — можно самостоятельно докрутить нужное решение.
Реестр пакетов и контейнеров
GitFlic поддерживает не только размещение пакетов ПО, но и хранение образов контейнеров. Это особенно важно, учитывая, что в мае 2024 года DockerHub ограничил доступ для российских пользователей. Более подробно узнать о поддерживаемых реестрах вы можете в документации.
Вы можете узнать, какие версии пакета были загружены, какие файлы в нём есть, их хэш-суммы и другую информацию. Есть также удобный интерфейс, позволяющий гибко управлять работой реестра пакетов в проекте.
Как видите, здесь легко переключать доступ анонимных пользователей, включать проксирование или определять правила перезаписи пакетов.
Интеграция с Jira, Telegram и вебхуки
GitFlic поддерживает интеграцию с разными знакомыми инструментами. Так команды могут управлять проектами и сохранять их безопасность данных.
Интеграция с Jira — платформа позволяет автоматически добавлять комментарии к задачам, упомянутым в коммитах или запросах на слияние. Можно настроить автоматическое изменение статуса задачи, что экономит время и исключает ручные операции.
GitFlic можно интегрировать также с Telegram — команде приходят уведомления о событиях в проекте непосредственно в чате или канале. Если стандартных уведомлений недостаточно, доступны вебхуки, с помощью которых можно настроить кастомные уведомления и действия.
Вебхуки — вы можете создавать их в GitFlic и подключать ко внешним приложениям. Их можно использовать для обновления внешнего сервиса, обновления резервного зеркала или даже для развёртывания на рабочем сервере.
GitFlic уже интегрирован с некоторыми российскими таск-трекерами, анализаторами кода и маркетплейсом приложений RuStore.
Список интеграций и совместимостей с российскими решениями постоянно расширяется.
Также платформа поддерживает возможность реализации собственных интеграций с помощью интеграционных скриптов.
Ролевая модель (RBAC): настройка прав доступа
GitFlic поддерживает ролевую модель управления доступом (RBAC), что поможет точнее настроить права доступа. Доступ возможен как на уровне отдельных пользователей, так и для целых команд.
Можно назначать как предустановленные роли, так и настраиваемые роли, включая:
- Базовые роли: «Администратор», «Разработчик», «Гость», «Докладчик», «Владелец», с заранее установленными правами.
- Кастомные роли: с помощью RBAC на основе базовых ролей можно добавлять свои кастомные с разными правами, например, можно ограничить доступ к просмотру исходного кода в репозитории.
Настройка прав помогает упростить управление и исключить случайные изменения в проекте, то есть сконцентрировать управление на нескольких ведущих ролях.
Как защитить ветки и теги от нежелательных изменений
По шаблонам вы можете создать защиту для тегов и веток. Пример такой защиты — запрет на создание тега для участников команды выше или ниже определенной роли.
В случае веток можно очень детально настроить защиту, можно запретить PUSH и MERGE для всех участников, кроме администраторов.
Аналитика репозитория: вклад разработчиков в проект
Подробная статистика по отдельному репозиторию позволяет просматривать подробную информацию о проекте и сколько коммитов было сделано.
Что можно узнать с помощью аналитики
- Общая картина активности — на графике отображается динамика работы в проекте. Вы можете увидеть, как часто вносятся изменения, и понять, в какие периоды активность была максимальной для оценки нагрузки команды и анализа этапов разработки.
- Индивидуальный вклад участников — GitFlic показывает, как именно каждый разработчик участвует в проекте: кто коммитит чаще, кто работает над основными ветками, а кто поддерживает второстепенные.
- Работа с форками — если от вашего проекта сделали форки, вы можете отслеживать их все в одном месте. Пригодится для open-source проектов, где важно понимать, как и кто использует ваш код.
- Подписчики и интерес к проекту — аналитика также дает представление о том, сколько людей добавили проект в избранное или подписались на его обновления. Используйте индикатор, чтобы понять насколько проект популярен среди сообщества.
Гибкие настройки отображения — можете выбирать, какие данные хотите видеть, фильтровать их по веткам или времени, чтобы анализировать только релевантную информацию.
Как импортировать проекты из других платформ
Возможность перенести проекты со сторонних сервисов реализована удобно — достаточно указать ссылку на внешний проект, логин и токен.
Два режима использования: SaaS и Self-hosted
У GitFlic два варианта использования, что позволяет гибко адаптировать платформу под потребности разных команд и уровень контроля над данными:
- SaaS — облачное решение. Подходит для небольших команд и личных проектов. Здесь всё просто: не нужно думать об установке, конфигурации или серверной инфраструктуре. Платформа работает «из коробки», а пользователи могут вести как приватные, так и публичные репозитории.
- Self-hosted — вариант для тех, кто хочет развернуть платформу на своих серверах. Это идеальный выбор для команд с высокими требованиями к безопасности и независимости. Этот режим позволяет использовать GitFlic в закрытой инфраструктуре.
Интеграция с российскими сервисами и повышенная безопасность
GitFlic активно интегрируется с российскими сервисами, обеспечивая разработчикам безопасную и независимую среду для работы.
Например, в версии 3.2.1 GitFlic реализована интеграция с российским магазином приложений RuStore. Это значит, что разработчики могут автоматически публиковать свои Android-приложения в магазине.
GitFlic протестирован на совместимость со статическим анализатором кода PT Application Inspector от Positive Technologies, что позволяет находить уязвимости и тестировать безопасность приложений.
Для поиска ошибок и проблем безопасности на ранних этапах разработки можно применять интегрированные инструменты анализа:
- SAST позволяет находить уязвимости в исходном коде до его выполнения, что снижает риск ошибок в продакшене.
- DAST проверяет работающие приложения на уязвимости, моделируя реальные атаки и помогая оценить их устойчивость.
- SCA анализирует сторонние библиотеки и зависимости, выявляя их уязвимости и лицензионные риски. Это особенно важно при использовании open-source компонентов.
Кому подойдет GitFlic
Разработчикам
- Простой интерфейс и доступный SaaS-режим позволяют использовать GitFlic без необходимости разворачивать серверы.
- Идеально подходит для создания первых проектов и экспериментов с кодом.
DevOps-инженерам
- Поддержка CI/CD и Docker, интеграция с Jenkins и возможность автоматизации процессов.
- Эффективные инструменты для управления конвейерами и настройка кастомных скриптов ускоряют релизы.
Специалистам по безопасности и DevSecOps-инженерам
- GitFlic включает интегрированные средства анализа безопасности, такие как SAST, DAST и SCA.
- Совместимость с PT Application Inspector помогает выявлять уязвимости на всех этапах разработки.
Инженерам внедрения и сопровождения
- Поддержка Self-hosted режима позволяет адаптировать платформу к требованиям инфраструктуры.
- Функции интеграции с российскими сервисами, гибкие настройки доступа (RBAC) и возможность работы с контейнерами упрощают развертывание и поддержку корпоративных систем.
Сообщество и поддержка open-source
GitFlic — это не просто место для хранения кода. Платформа поддерживает культуру open-source, создавая пространство для обмена опытом и коллективной работы над проектами. GitFlic стремится быть центром для всего российского open-source сообщества, где разработчики могут делиться своими идеями и улучшать как свои проекты, так и платформу в целом.
Разработчики могут не только размещать свои проекты, но и участвовать в улучшении чужих, получать обратную связь, делиться собственными идеями и реализовывать их. В дополнение — есть открытое взаимодействие с командой GitFlic, чтобы пользователи предлагали изменения и доработки самой платформы.
Присоединяйтесь к GitFlic
GitFlic выделяется среди зарубежных платформ благодаря трем ключевым преимуществам:
- Защита от блокировок – хостинг в России исключает риск санкций и потери доступа к проектам.
- Поддержка и сообщество – оперативная помощь на русском языке и активное комьюнити помогают решать задачи быстрее.
- Удобный интерфейс – интуитивно понятная структура позволяет сосредоточиться на работе с кодом, а не на изучении функционала.
Для небольших команд и личных проектов доступен бесплатный SaaS-режим. Это хороший вариант, чтобы протестировать возможности GitFlic и понять, насколько он подходит под ваши задачи.
Для актуальных обновлений и полезных советов по работе с платформой рекомендуем подписаться на Telegram-канал GitFlic.
Пробуйте, тестируйте, передавайте дальше и делитесь впечатлениями с коллегами!
Реклама. Рекламодатель: ООО «Ресолют» ИНН 9704054697, erid: LjN8KVzFo
321 открытий1К показов