Выпуск системы совместной разработки Gogs 0.12
Спустя более трёх лет с момента формирования ветки 0.11 опубликован новый значительный выпуск Gogs 0.12, системы для организации совместной работы с репозиториями Git, позволяющей на собственном оборудовании или в облачных окружениях развернуть сервис, напоминающий GitHub, Bitbucket и Gitlab. Код проекта написан на языке Go и поставляется под лицензией MIT. Для формирования интерфейса применяется web-фреймворк Macaron. Система имеет достаточно низкие требования к ресурсам и может быть развёрнута на плате Raspberry Pi.
Основные возможности Gogs:
- Отображение активности по шкале времени;
- Доступ к репозиторию по протоколам SSH и HTTP/HTTPS;
- Аутентификация через SMTP, LDAP и Reverse proxy;
- Встроенные средства управления учётными записями, репозиториями и организациями/командами;
- Интерфейс для добавления и удаления разработчиков, имеющих доступ к добавлению данных в репозиторий;
- Система web-хуков для интеграции обработчиков от сторонних сервисов, таких как Slack, Discord и Dingtalk;
- Поддержка подключения Git-хуков и Git LFS;
- Наличие интерфейсов для приёма сообщений об ошибках (issues), обработки pull-запросов и Wiki для подготовки документации;
- Средства для миграции и зеркалирования репозиториев и wiki из других систем;
- Web-интерфейс для редактирования кода и wiki;
- Загрузка аватаров через Gravatar и сторонние сервисы;
- Сервис отправки уведомлений по электронной почте;
- Панель администратора;
- Многоязычный интерфейс, переведённый на 30 языков;
- Возможность настройки интерфейса через систему HTML-шаблонов;
- Поддержка хранения параметров в MySQL, PostgreSQL, SQLite3, MSSQL и TiDB.
В новом выпуске:
- Добавлена поддержка системы хранения Git LFS (Git Large File Storage), позволяющей использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. При использовании Git LFS в штатном Git-репозитории большие файлы заменяются на текстовые ссылки, указывающие на контент в отдельном внешнем репозитории, что позволяет избежать повторного копирования файлов при клонировании и извлечении репозитория. При выполнении операций checkout большие файлы не загружаются вместе с остальными данными, а синхронизируются с сервера и хранятся в единственной копии.
- Администратору репозитория предоставлена возможность открепления пользователей, имеющих статус наблюдателей.
- При передаче raw-файлов реализовано выставление HTTP-заголовка Last-Modified.
- Добавлена поддержка подсветки синтаксиса для файлов SAS (.r, .sas, .tex, .yaml).
- Добавлена поддержка шаблонов для заполнения заголовка pull-запроса.
- При адаптации интерфейса под собственные предпочтения реализована возможность переопределения статических файлов, поставляемых в каталоге «public/».
- Добавлен API «GET /admin/teams/: teamid/members» для вывода списка участников группы.
- Реализована возможность определения политики устаревания резервных копий для конфигураций на базе Docker.
- До версии 1.14 повышены требования к компилятору Go.
Источник: http://www.opennet.ru/opennews/art.shtml? num=53586
© OpenNet