Релиз на платформата за съвместна разработка 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