Wydano platformę Kallithea Collaborative Development Platform 0.5

Przesłane przez Wydanie systemu zarządzania repozytorium Kallithea 0.5, na podstawie entuzjastów i przedstawicieli organizacji Software Freedom Conservancy, aby kontynuować rozwój bezpłatnej bazy kodu RhodeCode, po przekształcenia tej platformy w pół-zastrzeżony produkt komercyjny. Kallithea umożliwia wdrożenie infrastruktury zarządzania rozwojem, która obsługuje systemy kontroli wersji Git i Mercurial, a jej zadania są podobne do GitHub, GitLab i Bitbucket. Kod projektu jest napisany w Pythonie i dystrybuowane przez licencjonowany na licencji GPLv3.

Kallithea obejmuje wydajny serwer przetwarzania żądań push/pull oraz interfejs sieciowy do organizowania wspólnego rozwoju, który umożliwia zarządzanie repozytoriami, dzielenie praw dostępu, przeglądanie kodu, śledzenie aktywności innych uczestników, rozwidlanie projektów, wysyłanie żądań pull lub zmianę kodu na miejscu za pomocą prostego edytora. Obsługiwana jest integracja z centralną bazą użytkowników przedsiębiorstwa opartą na LDAP lub ActiveDirectory. Obsługiwane jest tworzenie grup repozytoriów i grup deweloperów ze zunifikowanym zarządzaniem członkami grupy. Wygląd interfejsu można łatwo zmienić za pomocą systemu szablonów. Obsługiwana jest wizualna reprezentacja aktywności w formie wykresów. System przeglądu zmian obsługuje dyskusję na temat zmian i wysyłanie powiadomień.

Część serwerowa platformy jest wielowątkowa, co pozwala na obsługę kilku żądań pull/push jednocześnie. Aby zwiększyć produktywność, system aktywnie wykorzystuje buforowanie i wykonuje działania w trybie asynchronicznym. System ma zintegrowane narzędzia do tworzenia kopii zapasowych, które umożliwiają okresową archiwizację i zapisywanie kopii wszystkich danych za pośrednictwem „scp”. Aby śledzić aktywność w repozytoriach, obsługiwana jest specjalna warstwa, która prowadzi dziennik wszystkich żądań i umożliwia uwierzytelnianie każdego żądania. Biblioteka jest używana do pracy z repozytoriami ty, metadane projektu mogą być przechowywane w bazach danych SQLite, PostgreSQL lub innych obsługiwanych przez SQLAlchemy.

Główne zmiany:

  • Dostęp do repozytorium przez SSH jest możliwy za pomocą adresu URL, takiego jak „ssh://kallithea@example.com/name/of/repository”. Uwierzytelnianie podczas dostępu do repozytorium przez SSH odbywa się na podstawie klucza publicznego użytkownika (z dodatkową ochroną hasłem klucza lub bez niej, w zależności od preferencji użytkownika). Klucz (~/.ssh/id_rsa.pub) jest ładowany na serwer przez interfejs internetowy Kallithea, który automatyzuje zapisywanie klucza w pliku authorized_keys. Należy zauważyć, że wydajność pracy z repozytorium przez SSH jest wyższa niż w przypadku dostępu do repozytorium przez HTTPS.
  • Dodano obsługę rozproszonego systemu kontroli wersji Mercurial 5.2.
  • Funkcja „Administrator > Ustawienia > Wizualizacja > (HTTP) Klonuj adres URL” została przeprojektowana, a jej program obsługi teraz wyraźnie sprawdza obecność ciągów „{repo}” i „_{repoid}”.
  • System praw dostępu został uporządkowany — prawa dostępu są zawsze traktowane jako przyrostowe, tzn. gwarantujemy, że każdy użytkownik będzie miał co najmniej takie same prawa jak użytkownik domyślny.
  • Ustawienie api_access_controllers_whitelist w pliku konfiguracyjnym nie jest już obsługiwane. Uwierzytelnianie za pomocą klucza dostępu API teraz automatycznie przyznaje dostęp do wszystkich interfejsów API dozwolonych dla użytkownika.
  • Wsparcie dla Pythona 2.6 zostało wycofane. Obecnie wspierana jest tylko gałąź Pythona 2.7, ale programiści pracują nad zapewnieniem pełnego wsparcia dla Pythona 3.x.
  • Funkcja blokowania repozytorium (pociągnij, aby zablokować, naciśnij, aby odblokować) została usunięta.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster