Выпуск системы совместной разработки Gogs 0.12

Спустя более трёх лет с момента формирования ветки 0.11 опубликован новый значительный выпуск Gogs 0.12, системы для организации совместной работы с репозиториями Git, позволяющей на собственном оборудовании или в облачных окружениях развернуть сервис, напоминающий GitHub, Bitbucket и Gitlab. Код проекта написан на языке Go и поставляется под лицензией MIT. Для формирования интерфейса применяется web-фреймворк Macaron. Система имеет достаточно низкие требования к ресурсам и может быть развёрнута на плате Raspberry Pi. 0_1598167821.png

Основные возможности 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