Релиз платформы совместной разработки Kallithea 0.5

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация




RSS


RSS новости

Новостная лента форума ailab.ru


2019-11-29 22:43

разработка по

Представлен выпуск системы управления репозиториями Kallithea 0.5, основанной энтузиастами и представителями организации Software Freedom Conservancy с целью продолжения развития свободной кодовой базы RhodeCode, после превращения данной платформы в полупроприетарный коммерческий продукт. Kallithea позволяет развернуть инфраструктуру управления разработкой, которая поддерживает системы контроля версий Git и Mercurial, и по решаемым задачам напоминает GitHub, GitLab и Bitbucket. Код проекта написан на языке Python и распространяется под лицензией GPLv3.

Kallithea включает в себя высокопроизводительный сервер обработки push/pull-запросов и веб-интерфейс для организации совместной разработки, который позволяет управлять репозиториями, разделять права доступа, рецензировать код, отслеживать активность других участников, делать форки проектов, отправлять пулл-реквесты или изменять код на месте, через простой редактор. Поддерживается интеграция с централизованной базой пользователей предприятия, основанной на LDAP или ActiveDirectory. Поддерживается создание групп репозиториев и групп разработчиков с унификацией управления членами группы. Внешний вид интерфейса может легко быть изменён через систему шаблонов. Поддерживается наглядное представление активности в виде графиков. В системе рецензирования изменений поддерживается обсуждение изменений и отправка уведомлений.

Серверная часть платформы является многопоточной, что позволяет одновременно обслуживать несколько pull/push-запросов. Для увеличения производительности в системе активно используется кэширование и выполнение действий в асинхронном режиме. В систему интегрированы средства резервного копирования, позволяющие периодически архивировать и сохранять через "scp" копию всех данных. Для отслеживания активности в репозиториях поддерживается специальная прослойка, ведущая журнал всех обращений и позволяющая аутентифицировать каждый запрос. Для работы с репозиториями задействована библиотека vcs, мета-данные о проектах могут хранится в SQLite, PostgreSQL или других БД, поддерживаемых в SQLAlchemy.

Основные изменения:

  • Предоставлена возможность доступа к репозиторию при помощи SSH, используя URL вида "ssh://kallithea@example.com/name/of/repository". Аутентификация при обращении к репозиторию через SSH осуществляется на основе открытого ключа пользователя (с дополнительной защитой ключа паролем или без, в зависимости от предпочтения пользователя). Загрузка ключа (~/.ssh/id_rsa.pub) на сервер осуществляется через web-интерфейс Kallithea, который автоматизирует сохранение ключа в файле authorized_keys. Отмечается, что производительность работы с репозиторием через SSH выше, чем при обращении к репозиторию по HTTPS.
  • Добавлена поддержка распределённой системы управления версиями Mercurial 5.2.
  • Переработана функция "Admin > Settings > Visual > (HTTP) Clone URL", обработчик которой теперь явно проверяет наличие строк "{repo}" и "_{repoid}".
  • Проведена чистка системы прав доступа - права доступа всегда рассматриваются только как добавочные, т.е. гарантируется, что у любого пользователя как минимум будут те же права, что и у пользователя по умолчанию.
  • В конфигурационном файле арекращена поддержка настройки api_access_controllers_whitelist. Аутентификация через ключ доступа к API теперь автоматически предоставляет доступ к всем API, разрешённых пользователю.
  • Прекращена поддержка Python 2.6. В настоящее время поддерживается только ветка Python 2.7, но разработчики работают над обеспечением полноценной поддержки Python 3.x.
  • Удалена функция блокировки репозитория (pull-to-lock, push-to-unlock).

 

 

 


Источник: www.opennet.ru

Комментарии: