Sortie de la plateforme de développement collaboratif Kallithea 0.5

Introduit sortie d'un système de gestion de référentiel Kallithée 0.5, basé passionnés et représentants du Software Freedom Conservancy afin de poursuivre le développement de la base de code libre RhodeCode, après transformations cette plateforme en un produit commercial semi-propriétaire. Kallithea vous permet de déployer une infrastructure de gestion du développement qui prend en charge les systèmes de contrôle de version Git et Mercurial, et dont les tâches sont similaires à celles de GitHub, GitLab et Bitbucket. Le code du projet est écrit en Python et distribué par sous licence GPLv3.

Kallithea comprend un serveur performant pour traiter les requêtes push/pull et une interface web pour organiser le développement collaboratif, qui permet de gérer des référentiels, de partager des droits d'accès, de réviser du code, de suivre l'activité des autres participants, de créer des projets, d'envoyer des pull request ou changez le code en place, via un simple éditeur. L'intégration avec une base de données d'utilisateurs d'entreprise centralisée basée sur LDAP ou ActiveDirectory est prise en charge. La création de groupes de référentiels et de groupes de développeurs avec une gestion unifiée des membres du groupe est prise en charge. L'apparence de l'interface peut être facilement modifiée grâce au système de modèles. Une représentation visuelle de l'activité sous forme de graphiques est prise en charge. Le système d'examen des modifications prend en charge la discussion des modifications et l'envoi de notifications.

La partie serveur de la plateforme est multithread, ce qui permet de servir simultanément plusieurs requêtes pull/push. Pour augmenter les performances, le système utilise activement la mise en cache et effectue des actions en mode asynchrone. Le système dispose d'outils de sauvegarde intégrés qui vous permettent d'archiver et de sauvegarder périodiquement une copie de toutes les données via « scp ». Pour suivre l'activité dans les référentiels, une couche spéciale est prise en charge qui conserve un journal de toutes les demandes et permet d'authentifier chaque demande. Une bibliothèque est utilisée pour travailler avec des référentiels vcs, les métadonnées du projet peuvent être stockées dans SQLite, PostgreSQL ou d'autres bases de données prises en charge par SQLAlchemy.

Les principaux changements:

  • Il est possible d'accéder au référentiel en utilisant SSH en utilisant une URL du type « ssh://[email protected]/nom/du/dépôt". L'authentification lors de l'accès à un référentiel via SSH est basée sur la clé publique de l'utilisateur (avec ou sans protection supplémentaire par mot de passe de la clé, selon les préférences de l'utilisateur). Le téléchargement de la clé (~/.ssh/id_rsa.pub) sur le serveur s'effectue via l'interface web Kallithea, qui automatise la sauvegarde de la clé dans le fichier authorised_keys. Il est à noter que les performances de travail avec le référentiel via SSH sont supérieures à celles d'accès au référentiel via HTTPS.
  • Ajout de la prise en charge du système de contrôle de version distribué Mercurial 5.2.
  • La fonction « Admin > Paramètres > Visuel > (HTTP) Clone URL » a été retravaillée, dont le gestionnaire vérifie désormais explicitement la présence des chaînes « {repo} » et « _{repoid} ».
  • Le système des droits d'accès a été nettoyé - les droits d'accès sont toujours considérés uniquement comme supplémentaires, c'est-à-dire il est garanti que tout utilisateur aura au moins les mêmes droits que l'utilisateur par défaut.
  • La prise en charge du paramètre api_access_controllers_whitelist a été supprimée du fichier de configuration. L'authentification via une clé d'accès API accorde désormais automatiquement l'accès à toutes les API autorisées à l'utilisateur.
  • La prise en charge de Python 2.6 a été interrompue. Actuellement, seule la branche Python 2.7 est prise en charge, mais les développeurs s'efforcent de fournir une prise en charge complète de Python 3.x.
  • La fonction de verrouillage du référentiel (pull-to-lock, push-to-unlock) a été supprimée.

Source: opennet.ru

Ajouter un commentaire