Recientemente adquirí un servidor dedicado y necesito mover varios repositorios desde un servicio de alojamiento de control de código fuente. Sin tener mucha experiencia en la administración del servidor, sin embargo, no tengo idea de cómo organizarlo de manera efectiva. Lo que busco
- svn.host.com, hg.host.com, subdominios git.host.com que serán las raíces de los diferentes repositorios, a través de claves SSH
- fácil creación de nuevos repositorios
- autenticación usando la lista de usuarios de Unix del servidor, pero con permisos por proyecto, también acceso público opcional de solo lectura para algunos de los repositorios
Desafortunadamente, cualquier término de búsqueda que pruebo en Google me dirige a soluciones comerciales alojadas, y no a guías sobre cómo desarrollar las mías. Necesito algo como una solución alojada simplificada pero sin la necesidad de que los usuarios puedan crear sus propios repositorios.
¿Alguna sugerencia, tutoriales o soluciones escritas sobre dónde comenzar la investigación? Una solución de código abierto para una interfaz administrativa para manejar eso (o al menos para algunos sería perfecto ...
SVN se puede hacer con Apache WebDAV, en un servidor virtual, utilizando autenticación Unix y las propias ACL de nivel de usuario de Subversion. No sé nada sobre mercurial o git, pero espero que también puedan conectarse a DAV.
fuente
Cuando desea utilizar SSH , básicamente tiene que restringir las claves editando el
authorized_keys
archivo en el servidor. Para Mercurial, las principales formas de hacer esto son:Puede usar el
contrib/hg-ssh
script para restringir los comandos que las personas pueden ejecutar cuando inician sesión con SSH. El archivo contiene un encabezado para explicar cómo usarlo, pero básicamente agregadelante de la clave en el
authorized_keys
archivo. Eso restringe la clave para que solo se pueda usar para empujar y tirar al repositorio indicado.También puede usar la herramienta de servidor mercurial de terceros si desea algo como gitois . Esto le permite administrar usuarios y sus derechos de acceso editando archivos en un repositorio de administración especial.
Consulte el wiki de Mercurial para conocer otras herramientas similares para SSH.
Para HTTP , hay
El
hgweb
script CGI o WSGI incorporado (rápido) que viene con Mercurial. Eso maneja los empujones y los tirones, pero no permite la creación de nuevos repositorios; inicie sesión en el servidor para eso.El proyecto de terceros RhodeCode . Esto le proporciona un front-end web similar a Bitbucket para Mercurial donde puede configurar usuarios y sus derechos de acceso. Es compatible con la autenticación LDAP, por lo que puede conectarla a su base de datos de usuarios de Unix existente.
Consulte la página de repositorios de publicación para obtener más información.
fuente
SCM-Manager puede ser perfecto para sus necesidades:
fuente
RhodeCode es una herramienta de gestión / navegador de repositorio de código abierto con un servidor push / pull incorporado, LDAP / AD, sistema de permisos y búsqueda de texto completo.
Puedes verlo en vivo aquí: http://demo.rhodecode.org/
fuente