1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Gitolite permet d’héberger des dépôts Git sur un serveur central et d’appliquer un contrôle d’accès fin par dépôt
  • Lors de l’installation via un gestionnaire de paquets, il est souvent disponible sous le nom gitolite3, et le code source est proposé sur Codeberg et GitHub
  • Si vous êtes à l’aise avec Unix et SSH, consultez la documentation d’installation rapide ; si vous avez besoin d’un guide pas à pas, suivez le parcours complet de la documentation ou le guide d’installation anti-erreurs
  • Les erreurs d’installation et de configuration ainsi que la perte de clés sont traitées dans la documentation emergencies ; les problèmes de sécurité doivent être signalés directement par e-mail, tandis que le support général passe par la liste de diffusion
  • Le logiciel est distribué sous GPL v2 ; la documentation gérée séparément est en principe sous Creative Commons BY-NC-SA 3.0

Documentation d’installation et d’exploitation

  • Gitolite permet d’organiser des dépôts Git sur un serveur central et d’appliquer un contrôle d’accès fin
    • GitHub peut aussi être utilisé comme dépôt source alternatif
    • Le nom du paquet dans les gestionnaires de paquets est souvent gitolite3
  • Si vous êtes à l’aise avec Unix et SSH, vous pouvez consulter l’installation rapide
  • Si vous avez besoin d’un accompagnement pas à pas, suivez tel quel le guide d’installation anti-erreurs, puis utilisez les exemples du cookbook pour les opérations courantes après l’installation
  • emergencies traite des problèmes d’installation et de configuration, de la récupération de clés perdues, des erreurs courantes ou rares, ainsi que des configurations non standard susceptibles de poser problème

Canaux de support et licence

  • Les problèmes de sécurité doivent être signalés directement à sitaramc@gmail.com
  • Le support général et les discussions passent par la liste de diffusion Google Groups
    • Le premier e-mail des nouveaux membres est mis en attente jusqu’à approbation, mais les e-mails suivants envoyés depuis la même adresse ne sont pas mis en attente
    • Une liste de diffusion distincte, unidirectionnelle et à faible volume, est également proposée pour les annonces de versions et de sécurité
  • Le support IRC est disponible sur le canal #gitolite de libera.chat, et le canal Git #git compte aussi des utilisateurs familiers de Gitolite
  • Le logiciel Gitolite est distribué sous GPL v2
    • La documentation est en principe soumise à la licence Creative Commons BY-NC-SA 3.0, mais les contributions externes peuvent indiquer une licence distincte dans chaque fichier
    • Les exemples de code de la documentation et les commentaires associés peuvent être considérés comme relevant de la GPL v2 si vous estimez qu’ils ne relèvent pas du fair use
  • GIT est une marque de Software Freedom Conservancy, et le nom Gitolite est utilisé sous licence

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Lobste.rs
  • En 2013, j’ai mis en place à l’Université de Cambridge un serveur Git basé sur gitolite et gitweb. Je l’avais choisi car il semblait demander bien moins de temps d’administration que GitLab ou Gitorious à leurs débuts, et dans l’ensemble, cela s’est vérifié
    gitolite avait une architecture particulière, avec exécution de commandes via SSH et gestion des droits d’accès par des fichiers de configuration sophistiqués, donc sans console d’administration web, ce qui créait une certaine barrière à l’entrée. J’avais rédigé un guide de démarrage, mais cela ne convenait qu’aux utilisateurs à l’aise techniquement
    Aucune ressource n’était officiellement affectée au service Git, donc j’ai consacré du temps personnel à monter un service provisoire afin de démontrer la demande et d’obtenir un budget. Il m’était difficilement acceptable de voir des modifications locales d’open source stockées dans SVN, ou des dépôts Git placés dans des répertoires personnels introuvables. Le support en ingénierie logicielle était insuffisant au regard des besoins de programmation scientifique de l’université, et j’estimais que les services IT centraux devaient soutenir l’enseignement et la recherche de toute l’université, pas seulement les usages internes
    Grâce à la fonction de délégation de la gestion des utilisateurs, j’ai pu confier presque toute la gestion des comptes et le support aux spécialistes de chaque groupe de recherche ou département. Comme c’était un outil difficile, il a attiré exactement les adopteurs précoces et spécialisés visés ; il y avait pas mal d’utilisateurs, mais presque aucune demande de support. Cela permettait aussi de prendre en charge des projets impliquant plusieurs universités sans limiter l’accès aux seuls membres de Cambridge
    Ma plus grande erreur d’appréciation a été de ne pas prévoir que ce service provisoire durerait environ 8 ans ; il a ensuite été remplacé par un GitLab exploité par une équipe dédiée. Le travail qui a pris le plus de temps a été l’amélioration de la résilience, et l’architecture de réplication quasi temps réel des dépôts Git vers un autre site était probablement plus complexe que nécessaire

    • Quand j’ai repris ce service, l’idée était de le faire migrer vers une forge logicielle offrant aussi intégration continue et dépôt de paquets. On commençait à reconnaître la valeur des logiciels comme résultats de recherche, et il y avait aussi une volonté de financer des services centraux à l’université
      C’est justement à cette époque que Microsoft a racheté GitHub et que certains ont commencé à prédire pour la première fois son déclin ; c’est intéressant de voir l’histoire se répéter. GitLab proposait une licence dans des conditions très avantageuses, et il fallait aussi une démonstration interne de l’usage de Kubernetes et de l’infrastructure as code sur des services cloud. J’ai depuis quitté l’université, mais GitLab fonctionne toujours sur https://gitlab.developers.cam.ac.uk/
    • En 2012-2013, j’exploitais gitolite dans un département d’une université locale, utilisé principalement par des étudiants en génie logiciel. C’était sans doute excessif au vu de la taille de la base utilisateurs, mais sa simplicité et ses listes de contrôle d’accès fines le rendaient pratique pour gérer équipes et autorisations sur plusieurs projets du département
      Quelques années plus tard, il n’y avait plus personne pour s’en occuper, et avec la montée en popularité de GitHub, les utilisateurs ont délaissé le service interne de l’université pour de l’hébergement externe. Je pensais que le projet avait disparu, donc je suis heureux de voir qu’il est toujours maintenu régulièrement
  • J’utilisais les listes de contrôle d’accès fines de gitolite pour autoriser certaines clés à cloner uniquement sans pouvoir pousser, ou pour autoriser les push tout en interdisant les force push. C’était léger et pratique ; aujourd’hui, j’essaierais probablement https://github.com/djmdjm/gitlimit

    • Gitlimit semble avoir un code source suffisamment simple pour étendre facilement des fonctions comme des commandes personnalisées
  • Pour un projet personnel, Fossil convient aussi bien. Un serveur web est intégré dans un petit binaire, donc on peut le mettre en service très simplement, et si nécessaire il peut aussi s’interfacer avec un dépôt Git en amont

    • gitolite est un outil destiné aux environnements multi-utilisateurs avec contrôle d’accès complexe et hébergement de plusieurs dépôts
  • Au NRAO aussi, gitolite a été utilisé un temps comme solution temporaire. À l’époque, l’outil officiellement pris en charge était Subversion, mais le responsable du groupe l’avait installé pour les utilisateurs internes qui voulaient Git. Il n’avait pas beaucoup de fonctions, mais il faisait très bien ce qu’on lui demandait
    Aujourd’hui, il existe une installation GitLab utilisée à l’échelle de l’observatoire ; un passage vers GitHub ou GitLab reste possible, mais j’ignore quelle sera la décision finale. Je passe beaucoup de temps à bricoler les systèmes d’intégration et de déploiement continus, et je ne vois pas comment gitolite pourrait prendre cela en charge ou implémenter un flux de travail de pull/merge requests. Cela dit, l’utilité de ces fonctions a peut-être été surestimée

  • J’utilise fugit (https://github.com/cbdevnet/fugit), conçu avec un objectif de simplicité extrême, et je gère les fichiers de configuration avec des modules Nix. C’est simple et efficace, alors que gitolite a toujours été un peu pénible à utiliser