Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente | ||
subversion [23/10/2020 05:52] – Juanga Covas | subversion [03/02/2024 00:58] – Juanga Covas | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Mundo real: cómo administrar un servidor subversion para un equipo pequeño ====== | ====== Mundo real: cómo administrar un servidor subversion para un equipo pequeño ====== | ||
- | Estas son mis notas tras 4 años de administración de un servidor Subversion (SVN) en Linux, para un equipo pequeño de 4 o 5 personas que acceden desde la oficina, o desde casa, usando clientes Windows, Mac o Linux. | + | Estas son mis notas tras 4 años de administración de un servidor Subversion (SVN): |
+ | - En Linux, | ||
+ | - para un equipo pequeño de 4 o 5 personas que acceden desde la oficina, o desde casa | ||
+ | - usando clientes | ||
- | Si lo que te interesa alojar tu servidor SVN en windows, puedes echar un vistazo a [[https:// | + | Si lo que te interesa |
- | Las ventajas de alojar subversion en Linux: | + | <WRAP tip> |
- | - Se puede hostear en servidores (o VMs) más pequeños y baratos | + | Lo habitual es que pensemos |
- | - Se puede aprovechar scripting Bash/Perl ya existente | + | |
- | - Dispondremos fácilmente del protocolo | + | |
- | - El sistema de usuarios | + | |
- | Desventajas de alojar subversion en Linux bajo el protocolo " | + | </ |
- | | + | Las ventajas de alojar Subversion/ |
+ | |||
+ | - Se puede hostear en servidores (o VMs) más pequeños, resultando más baratos que Windows. | ||
+ | - Se pueden aprovechar herramientas (scripts) ya escritos en Bash, Perl, Python... | ||
+ | - Dispondremos fácilmente del protocolo '' | ||
+ | - La gestión de usuarios la realizaremos usando el propio sistema de cuentas de usuario de Linux. | ||
+ | |||
+ | Inconvenientes de alojar Subversion en Linux bajo el protocolo '' | ||
+ | |||
+ | | ||
- No tenemos la misma granularización de permisos en los repositorios y directorios. Todos los usuarios pueden acceder a todo y escribir en todas partes, si bien siempre hay alternativas o pequeños " | - No tenemos la misma granularización de permisos en los repositorios y directorios. Todos los usuarios pueden acceder a todo y escribir en todas partes, si bien siempre hay alternativas o pequeños " | ||
- No tenemos "de entrada" | - No tenemos "de entrada" | ||
- | <WRAP tip>Lo habitual es que pensemos en Subversion como una manera de "poder trabajar en equipo en el mismo proyecto, controlar los cambios en el código", | + | |
Cosas que necesitaremos: | Cosas que necesitaremos: | ||
- | * Instalación y actualización | + | * Instalación y actualización |
- | * Instalar la versión de subversion | + | * Instalar la versión de Subversion |
- | * Poder actualizar el servidor SVN para estar al día | + | * Poder actualizar el cliente/servidor SVN para disfrutar de la última versión. |
+ | * Interfaz: en Windows, la herramienta TortoiseSVN es la más completa. En línea de comandos, CMDer lee los metadatos de Subversion y nos muestra el estado/rama de cada path como en git. | ||
* Gestión de usuarios | * Gestión de usuarios | ||
- | * Añadir usuarios (un nuevo empleado, por ejemplo) | + | * Añadir usuarios |
- | * Dar de baja usuarios (expiración de usuarios, por ejemplo cuando un empleado deja la empresa) | + | * Dar de baja usuarios (expiración de usuarios, por ejemplo cuando un empleado deja la empresa). Evitar perder el histórico de commits de dicho usuario. |
- | * Si el servidor es solo para SVN, los usuarios *solo* deben poder hacer subversion | + | * Si el servidor es solo para SVN, por seguridad |
* Decidir nuestro " | * Decidir nuestro " | ||
- | * Aprender a usar los " | + | * Aprender a usar los " |
* Scripts: | * Scripts: | ||
- | * Script para añadir repositorios | + | * Script para crear un nuevo repositorio |
- | * Script para añadir | + | * Script para añadir |
- | * Script para crear el esqueleto de un proyecto nuevo (boilerplate/ | + | * Script para crear un esqueleto de aplicación en un proyecto nuevo (boilerplate/ |
- | * Script para listar repositorios/proyectos | + | * Script para listar |
* Script para buscar cadenas en ciertos archivos de todos los repositorios | * Script para buscar cadenas en ciertos archivos de todos los repositorios | ||
- | * Script para " | + | * Script para " |
- | * Script | + | * Scripts |
* Extras: | * Extras: | ||
- | * Uso de una rama " | + | * Uso de una rama " |
- | * Svnnotify (enviar email con diferencias | + | * Svnnotify (al hacer commit, envío automático de un e-mail al equipo con los cambios/ |
- | * Usuario | + | * Utilizar un usuario de "actualizaciones/ |
+ | * Uso de " | ||