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

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

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

Сървърната част на платформата е многопоточна, което позволява едновременно обслужване на няколко pull/push заявки. За увеличаване на производителността в системата активно се използва кеширане и изпълнение на действия в асинхронен режим. В системата са интегрирани средства за архивиране, позволяващи периодично архивиране и запазване на всички данни чрез „scp“. За проследяване на активността в репозиториите се поддържа специален слой, който води журнал на всички запитвания и позволява удостоверяване на всяко запитване. За работа с репозитории е използвана библиотека vcs, мета-данните за проектите могат да се съхраняват в SQLite, PostgreSQL или други бази данни, поддържани от SQLAlchemy.

Основни промени:

  • Предоставена възможност за достъп до репозитория чрез SSH, използвайки URL от вида «ssh://kallithea@example.com/name/of/repository». Аутентификацията при достъп до репозитория чрез SSH се извършва на базата на публичния ключ на потребителя (с допълнителна защита на ключа с парола или без, в зависимост от предпочитанията на потребителя). Качването на ключа (~/.ssh/id_rsa.pub) на сървъра става чрез уеб интерфейса на 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).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster