- Gitolite permite alojar repositorios Git en un servidor central y aplicar control de acceso granular por repositorio
- Al instalarlo con un gestor de paquetes, suele usarse el nombre
gitolite3, y el código fuente está disponible en Codeberg y GitHub - Si tienes familiaridad con Unix y SSH, puedes usar la documentación de instalación rápida; si necesitas una guía paso a paso, sigue el flujo completo de la documentación o la guía de instalación a prueba de errores
- Los errores de instalación y configuración, así como la pérdida de llaves, se tratan en la documentación de emergencies; los problemas de seguridad deben reportarse directamente por email, y para soporte general se usa la lista de correo
- El software se distribuye bajo GPL v2, y la documentación mantenida por separado se rige en principio por Creative Commons BY-NC-SA 3.0
Documentación de instalación y operación
- Gitolite permite configurar repositorios Git en un servidor central y aplicar control de acceso granular
- También se puede usar GitHub como repositorio fuente alternativo
- El nombre del paquete en los gestores de paquetes suele ser
gitolite3
- Si tienes familiaridad con Unix y SSH, puedes consultar la instalación rápida
- Si necesitas ayuda paso a paso, sigue tal cual la guía de instalación a prueba de errores y, después de instalar, puedes usar los ejemplos del cookbook para tareas comunes
- emergencies cubre problemas de instalación y configuración, recuperación de llaves perdidas, errores comunes o poco frecuentes, y configuraciones no estándar que podrían causar problemas
Canales de soporte y licencia
- Los problemas de seguridad deben reportarse directamente a
sitaramc@gmail.com - Para soporte general y discusiones se usa la lista de correo de Google Groups
- El primer email de los nuevos miembros queda retenido hasta ser aprobado, pero los emails posteriores enviados desde la misma dirección no quedan retenidos
- También se ofrece una lista de correo unidireccional de baja frecuencia para lanzamientos y avisos de seguridad
- Se puede recibir soporte por IRC en el canal
#gitolitede libera.chat, y en el canal de Git#gittambién hay usuarios familiarizados con Gitolite - El software Gitolite se distribuye bajo GPL v2
- En principio, la documentación está sujeta a Creative Commons BY-NC-SA 3.0, aunque las partes aportadas externamente pueden indicar una licencia distinta en cada archivo
- Los ejemplos de código de la documentación y sus comentarios relacionados pueden considerarse GPL v2 si se determina que no constituyen uso legítimo
- GIT es una marca registrada de Software Freedom Conservancy, y el nombre Gitolite se usa conforme a la licencia
1 comentarios
Opiniones en Lobste.rs
En 2013, en la Universidad de Cambridge montaron un servidor Git basado en gitolite y gitweb. Lo eligieron porque parecía requerir mucho menos tiempo de administración que GitLab o Gitorious en sus primeras etapas, y en la práctica así fue en gran medida.
gitolite tenía una estructura particular donde ejecutaba comandos por SSH y gestionaba permisos de acceso con archivos de configuración detallados, así que no tenía una consola web de administración y eso elevaba la barrera de entrada. Crearon una guía de introducción, pero solo era adecuada para usuarios con confianza técnica.
No había personal asignado al servicio Git, así que dedicaron tiempo personal a crear un servicio provisional para demostrar la demanda y conseguir presupuesto. Les parecía inaceptable guardar cambios locales de software de código abierto en SVN, o tener repositorios Git en directorios personales que nadie pudiera encontrar. Consideraban que había poco apoyo de ingeniería de software frente a la demanda de programación científica en la universidad, y que los servicios centrales de TI debían apoyar la enseñanza y la investigación de toda la universidad, no solo el uso interno.
Aprovecharon la función de delegación de administración de usuarios para dejar casi toda la gestión de cuentas y el soporte en manos de especialistas de cada grupo de investigación o departamento. Gracias a que era una herramienta difícil, reunió justo al tipo de early adopters especializados que buscaban; había bastantes usuarios, pero casi no llegaban solicitudes de soporte. También pudieron dar soporte a proyectos entre varias universidades sin limitar el acceso solo a miembros de Cambridge.
El mayor error de cálculo fue no prever que el servicio provisional duraría unos 8 años, y después fue reemplazado por GitLab operado por personal dedicado. Lo que más tiempo consumió fue mejorar la resiliencia, y es muy posible que la estructura de replicación casi en tiempo real de repositorios Git hacia otro sitio fuera más compleja de lo necesario
Coincidió con la compra de GitHub por parte de Microsoft, cuando empezaban las primeras predicciones sobre la decadencia de GitHub, y le parece interesante ver cómo la historia se repite. GitLab ofreció la licencia en condiciones muy favorables, y también hacía falta una demostración interna de servicios en la nube aplicando Kubernetes e infraestructura como código. Ya no está en la universidad, pero GitLab sigue funcionando en https://gitlab.developers.cam.ac.uk/
Unos años después ya no quedó nadie para operarlo, y como GitHub se puso muy de moda, los usuarios se pasaron de un servicio interno de la universidad a hosting externo. Pensó que el proyecto había desaparecido, así que le alegra ver que todavía se mantiene de forma constante
Con la lista de control de acceso detallada de gitolite se podía permitir a ciertas llaves solo clonar y bloquear los push, o permitir push pero prohibir los force push. Era ligero y práctico; hoy probablemente probaría https://github.com/djmdjm/gitlimit
Para proyectos personales, Fossil también encaja bien. Tiene un servidor web integrado en un binario pequeño, así que se puede ofrecer el servicio fácilmente, y si hace falta también puede integrarse con un repositorio Git ascendente
En NRAO también usaron gitolite como solución provisional durante un tiempo. En ese momento la herramienta con soporte oficial era Subversion, pero el responsable del grupo la instaló para usuarios internos que querían Git. No tenía muchas funciones, pero hacía suficientemente bien lo que necesitaban.
Ahora tienen una instalación de GitLab usada por todo el observatorio, y podría darse una migración a GitHub o GitLab, aunque no sabe cuál será la decisión final. Dedican mucho tiempo a ajustar los sistemas de integración y despliegue continuos, y no se le ocurre cómo dar soporte a eso con gitolite ni cómo implementar un flujo de trabajo de pull/merge requests. Aun así, puede que la utilidad de esas funciones haya sido exagerada
Usa fugit (https://github.com/cbdevnet/fugit), hecho con el objetivo de una simplicidad extrema, y gestiona los archivos de configuración con módulos de Nix. Es simple y efectivo, y gitolite siempre le resultó un poco incómodo de usar