Дата публикации:Fri, 18 Jul 2025 16:00:37 +0300
Опубликован выпуск платформы совместной разработки Forgejo 12.0, позволяющей развернуть на своих серверах систему для совместной работы с репозиториями Git, напоминающую по решаемым задачам GitHub, Bitbucket и Gitlab. Forgejo является форком проекта Gitea, который в свою очередь ответвился от платформы Gogs. Отделение Forgejo произошло в 2022 году после попыток коммерциализации Gitea и перехода управления в руки коммерческой компании. Проект Forgejo придерживается принципов независимого управления и подконтрольности сообществу. На использование Forgejo перешёл Git-хостинг Codeberg.org. Код проекта написан на языке Go и распространяется под лицензией GPLv3.
Ключевыми особенностями платформы является низкое потребление ресурсов (может использоваться на плате Raspberry Pi или в дешёвых VPS) и простой процесс установки. Предоставляются типовые возможности работы с проектами, такие как управление задачами, отслеживание проблем (issues), pull-запросы, wiki, средства для координации групп разработчиков, подготовка релизов, автоматизация размещения пакетов в репозиториях, управление правами доступа, сопряжение с платформами непрерывной интеграции, поиск кода, аутентификация через LDAP и OAuth, доступ к репозиторию по протоколам SSH и HTTP/HTTPS, подключение web-хуков для интеграции со Slack, Discord и другими сервисами, поддержка Git-хуков и Git LFS, инструменты для миграции и зеркалирования репозиториев. Отдельно выделяется возможность использования протокола ActivityPub для объединения в федеративную сеть отдельных серверов разработчиков.
Основные изменения:
- Переработана страница с профилем пользователя. Добавлены дополнительные действия в меню профиля. Улучшен интерфейс рецензирования pull-запросов на уровне отдельных коммитов (вместо полного списка изменений, охватывающего все коммиты, в данном режиме последовательно рецензируются отдельные коммиты). Для навигации по коммитам при рецензировании добавлены кнопки "вперёд" и "назад". Разрешено использование кнопки завершения рецензирования для отдельных коммитов. На страницах рецензирования оставлен видимым текст пояснения к коммиту. Добавлена опция для отправки на email уведомлений о сбоях при выполнении работ по расписанию (Forgejo Actions). Оптимизирован процесс проверки конфликтов с открытыми pull-запросами при помещении в целевую ветку новых коммитов. Ранее подобная проверка приводила нагрузке на ввод/вывод, пропорциональной числу открытых pull-запросов из-за применения операции к рабочему дереву. Переход на использование команды "git merge-tree --write-tree" позволил выполнять слияния, не обращаясь к рабочему дереву, что существенно снизило нагрузку в крупных внедрениях. Добавлена возможность использования SSH для задач, ранее завязанных на OpenPGP. Для подписи коммитов после редактирования файлов или приёма изменений, вместо ключа GPG теперь может применяться ключ SSH (подпись формируется в TPM через ssh-agent). По умолчанию добавлен файл robots.txt для информирования ботов о разделах, которые не следует индексировать. Добавлена функция для поддержания форка в состоянии, синхронизированном с основным проектом. Добавлена поддержка предпросмотра 3D-моделей в формате glTF. В редакторе комментариев реализована возможность расстановки отступов клавишей Tab. На базе Alpine 3.22 сформирован готовый образ контейнера для запуска Forgejo 12, использующий Git 2.49.1, GnuPG 2.4.7, SQLite 3.49.2 и OpenSSH 10.0.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63601