Diferencia entre revisiones de «Svn»
(→Enlaces de interes) |
|||
(11 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
+ | == Introducción == | ||
+ | |||
Como herramienta de control de versiones para el código de mis aplicaciones y scripts uso SVN. | Como herramienta de control de versiones para el código de mis aplicaciones y scripts uso SVN. | ||
En el servidor que voy a usar como SVN instalo el paquete subversion, y también para apache2 instalo el paquete libapache2-svn, que me añadirá un módulo para poder acceder a mis repositorios de subversion desde cualquier punto. | En el servidor que voy a usar como SVN instalo el paquete subversion, y también para apache2 instalo el paquete libapache2-svn, que me añadirá un módulo para poder acceder a mis repositorios de subversion desde cualquier punto. | ||
+ | |||
+ | === Enlaces de interes === | ||
+ | *[http://chernando.eu/doc/svn/ Guía rápida para subversion] | ||
+ | |||
+ | == Tareas básicas de svn == | ||
En primero lugar dedicamos un path de nuestro servidor para almacenar los datos de subversion, en mi caso voy a usar /opt/svn (uso /opt porque es donde tengo el volumen donde hago backups, sinó podría crear un volumen propio montado por ejemplo /SVN) | En primero lugar dedicamos un path de nuestro servidor para almacenar los datos de subversion, en mi caso voy a usar /opt/svn (uso /opt porque es donde tengo el volumen donde hago backups, sinó podría crear un volumen propio montado por ejemplo /SVN) | ||
− | Creamos un repositorio de subversion, esto lo hacemos con: | + | Creamos un repositorio de subversion, esto lo hacemos con: (mi ejemplo se llama netapp) |
<pre> | <pre> | ||
− | # svnadmin create /opt/svn/ | + | # svnadmin create /opt/svn/netapp |
</pre> | </pre> | ||
Línea 22: | Línea 29: | ||
<pre> | <pre> | ||
− | # svn import . file:///opt/svn/ | + | # svn import . file:///opt/svn/netapp |
</pre> | </pre> | ||
Línea 36: | Línea 43: | ||
<pre> | <pre> | ||
− | # svn co file:///opt/svn/<repositorio>/ | + | # svn co file:///opt/svn/netapp/trunk |
+ | </pre> | ||
+ | |||
+ | Ahora con ese repositorio lo que podemos hacer es exportarlo de diferentes maneras,en nuestro con webdav a través de un servidor web Apache. | ||
+ | |||
+ | == Configurar apache para webdav == | ||
+ | |||
+ | La versión de apache que voy a usar yo es la 2.2.8, que viene con la paquetería de ubuntu. Usando paquetería también vamos a instalar el modulo de apache para svn, que se llama libapache2-svn. Bueno, en realidad esta parte depende mucho de como tengas instalado el servidor web, así que no me entretendré más. | ||
+ | |||
+ | Lo importante es el fichero de configuración de apache. Para mi instalación me he creado una nueva entrada en el dns que se llama svn.ardemans.com, y es ahí donde voy a publicar por webdav mis repositorios. | ||
+ | |||
+ | Debemos cargar los módulos de webdav de svn: | ||
+ | |||
+ | <pre> | ||
+ | LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so | ||
+ | LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so | ||
+ | </pre> | ||
+ | |||
+ | Despues configurar el virtual host: | ||
+ | |||
+ | <pre> | ||
+ | <VirtualHost *> | ||
+ | ServerAdmin webmaster@localhost | ||
+ | ServerName svn.ardemans.com | ||
+ | |||
+ | DocumentRoot /var/www/svn.ardemans.com | ||
+ | <Directory /> | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </Directory> | ||
+ | |||
+ | <Location /netapp> | ||
+ | DAV svn | ||
+ | SVNPath /opt/svn/netapp | ||
+ | AuthType Basic | ||
+ | AuthName "Mi proyecto de Netapp" | ||
+ | AuthUserFile /etc/subversion/passwd | ||
+ | Require valid-user | ||
+ | </Location> | ||
+ | |||
+ | ErrorLog /var/log/apache2/error-svn.ardemans.com.log | ||
+ | |||
+ | # Possible values include: debug, info, notice, warn, error, crit, | ||
+ | # alert, emerg. | ||
+ | LogLevel warn | ||
+ | |||
+ | CustomLog /var/log/apache2/access-svn.ardemans.com.log combined | ||
+ | ServerSignature On | ||
+ | |||
+ | </VirtualHost> | ||
</pre> | </pre> |
Última revisión de 17:42 11 sep 2011
Contenido
Introducción
Como herramienta de control de versiones para el código de mis aplicaciones y scripts uso SVN.
En el servidor que voy a usar como SVN instalo el paquete subversion, y también para apache2 instalo el paquete libapache2-svn, que me añadirá un módulo para poder acceder a mis repositorios de subversion desde cualquier punto.
Enlaces de interes
Tareas básicas de svn
En primero lugar dedicamos un path de nuestro servidor para almacenar los datos de subversion, en mi caso voy a usar /opt/svn (uso /opt porque es donde tengo el volumen donde hago backups, sinó podría crear un volumen propio montado por ejemplo /SVN)
Creamos un repositorio de subversion, esto lo hacemos con: (mi ejemplo se llama netapp)
# svnadmin create /opt/svn/netapp
Una vez creado el repositorio tendremos que crear la estructura de repositorio svn, en /tmp podemos crear un directorio nuevo /tmp/svn y dentro crear los siguientes directorios:
# mkdir /tmp/svn/trunk # mkdir /tmp/svn/branches # mkdir /tmp/svn/tags
y desde el directorio /tmp/svn ejecutamos el siguiente comando para importarlos al repositorio:
# svn import . file:///opt/svn/netapp
Veremos que aparece el mensaje:
Añadiendo trunk Añadiendo branches Añadiendo tags
Ahora, si queremos crear en local al servidor nuestro primer working copy tendremos que hacer lo siguiente en un directorio vacío
# svn co file:///opt/svn/netapp/trunk
Ahora con ese repositorio lo que podemos hacer es exportarlo de diferentes maneras,en nuestro con webdav a través de un servidor web Apache.
Configurar apache para webdav
La versión de apache que voy a usar yo es la 2.2.8, que viene con la paquetería de ubuntu. Usando paquetería también vamos a instalar el modulo de apache para svn, que se llama libapache2-svn. Bueno, en realidad esta parte depende mucho de como tengas instalado el servidor web, así que no me entretendré más.
Lo importante es el fichero de configuración de apache. Para mi instalación me he creado una nueva entrada en el dns que se llama svn.ardemans.com, y es ahí donde voy a publicar por webdav mis repositorios.
Debemos cargar los módulos de webdav de svn:
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
Despues configurar el virtual host:
<VirtualHost *> ServerAdmin webmaster@localhost ServerName svn.ardemans.com DocumentRoot /var/www/svn.ardemans.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Location /netapp> DAV svn SVNPath /opt/svn/netapp AuthType Basic AuthName "Mi proyecto de Netapp" AuthUserFile /etc/subversion/passwd Require valid-user </Location> ErrorLog /var/log/apache2/error-svn.ardemans.com.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access-svn.ardemans.com.log combined ServerSignature On </VirtualHost>