Release van het collaboratieve ontwikkelingsplatform Kallithea 0.5

Geïntroduceerd release van een repositorybeheersysteem Kallithea 0.5, gebaseerd enthousiastelingen en vertegenwoordigers van de Software Freedom Conservancy om daarna de ontwikkeling van de vrije codebasis RhodeCode voort te zetten transformatie dit platform om tot een semi-eigen commercieel product. Met Kallithea kunt u een infrastructuur voor ontwikkelingsbeheer implementeren die versiebeheersystemen van Git en Mercurial ondersteunt, en qua taken vergelijkbaar is met GitHub, GitLab en Bitbucket. De projectcode is geschreven in Python en gedistribueerd door gelicentieerd onder GPLv3.

Kallithea bevat een krachtige server voor het verwerken van push/pull-verzoeken en een webinterface voor het organiseren van gezamenlijke ontwikkeling, waarmee u opslagplaatsen kunt beheren, toegangsrechten kunt delen, code kunt beoordelen, de activiteit van andere deelnemers kunt volgen, projecten kunt afsplitsen, pull-verzoeken kunt verzenden of verander de code om te plaatsen, via een eenvoudige editor. Integratie met een gecentraliseerde zakelijke gebruikersdatabase op basis van LDAP of ActiveDirectory wordt ondersteund. Het creëren van repositorygroepen en ontwikkelaarsgroepen met uniform beheer van groepsleden wordt ondersteund. Het uiterlijk van de interface kan eenvoudig worden gewijzigd via het sjabloonsysteem. Een visuele weergave van activiteit in de vorm van grafieken wordt ondersteund. Het wijzigingsbeoordelingssysteem ondersteunt het bespreken van wijzigingen en het verzenden van meldingen.

Het servergedeelte van het platform is multi-threaded, waardoor u meerdere pull/push-verzoeken tegelijkertijd kunt verwerken. Om de prestaties te verbeteren, maakt het systeem actief gebruik van caching en het uitvoeren van acties in asynchrone modus. Het systeem beschikt over geïntegreerde back-uptools waarmee u periodiek via “scp” een kopie van alle gegevens kunt archiveren en opslaan. Om de activiteit in repository's bij te houden, wordt een speciale laag ondersteund die een logboek bijhoudt van alle verzoeken en waarmee elk verzoek kan worden geverifieerd. Er wordt gebruik gemaakt van een bibliotheek om met repositories te werken julliekunnen projectmetagegevens worden opgeslagen in SQLite, PostgreSQL of andere databases die worden ondersteund door SQLAlchemy.

Grote veranderingen:

  • Het is mogelijk om toegang te krijgen tot de repository via SSH met behulp van een URL zoals “ssh://[e-mail beveiligd]/naam/van/opslagplaats". Authenticatie bij toegang tot een repository via SSH is gebaseerd op de publieke sleutel van de gebruiker (met of zonder extra wachtwoordbeveiliging van de sleutel, afhankelijk van de voorkeur van de gebruiker). Het uploaden van de sleutel (~/.ssh/id_rsa.pub) naar de server gebeurt via de Kallithea-webinterface, die het opslaan van de sleutel in het geautoriseerde_sleutels-bestand automatiseert. Opgemerkt wordt dat de prestaties bij het werken met de repository via SSH hoger zijn dan bij toegang tot de repository via HTTPS.
  • Ondersteuning toegevoegd voor gedistribueerd versiebeheersysteem Mercurial 5.2.
  • De functie “Admin > Instellingen > Visueel > (HTTP) Kloon-URL” is herwerkt, waarvan de handler nu expliciet controleert op de aanwezigheid van de strings “{repo}” en “_{repoid}”.
  • Het toegangsrechtensysteem is opgeschoond - toegangsrechten worden altijd alleen als aanvullend beschouwd, d.w.z. het is gegarandeerd dat elke gebruiker minimaal dezelfde rechten heeft als de standaardgebruiker.
  • Ondersteuning voor de instelling api_access_controllers_whitelist is verwijderd uit het configuratiebestand. Authenticatie via een API-toegangssleutel verleent nu automatisch toegang tot alle API's die aan de gebruiker zijn toegestaan.
  • Ondersteuning voor Python 2.6 is stopgezet. Momenteel wordt alleen de Python 2.7-vertakking ondersteund, maar de ontwikkelaars werken eraan om volledige ondersteuning te bieden voor Python 3.x.
  • De repository-vergrendelingsfunctie (pull-to-lock, push-to-unlock) is verwijderd.

Bron: opennet.ru

Voeg een reactie