Найти тему
Проект OpenNet

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

Спустя два с половиной года с момента формирования ветки 0.12 опубликован новый значительный выпуск Gogs 0.13, системы для организации совместной работы с репозиториями 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 и TiDB.

В новом выпуске:

  • Предоставлена возможность использования персонального токена доступа в поле с паролем.
  • На страницах создания и переноса репозитория появилась опция для исключения из списка (unlisted), оставляющая репозиторий публичным, но скрывающая его в списке для пользователей без прямого доступа в интерфейс Gogs.
  • Добавлены новые настройки "[git.timeout] DIFF" (таймаут для git diff), "[server] SSH_SERVER_MACS" (список разрешённых MAC-адресов), "[repository] DEFAULT_BRANCH" (название ветки по умолчанию для новых репозиториев), "[server] SSH_SERVER_ALGORITHMS" (список допустимых алгоритмов для обмена ключами).
  • Предоставлена возможность указания собственной схемы хранения для PostgreSQL.
  • Добавлена поддержка отрисовки Mermaid-диаграмм в Markdown.
  • Название ветки по умолчанию изменено с master на main.
  • Объявлен устаревшим бэкенд хранения MSSQL.
  • До версии 1.18 повышены требования к компилятору Go.
  • Для хранения токенов доступа теперь используются хэши SHA256 вместо хранения в открытом виде.