Subversion
Es un sistema de control de versiones libre, nos sirve para manejar ficheros y directorios a través del tiempo, para ésto hace uso de un árbol de ficheros creado como repositorio central que va almacenando todos los cambios hechos a sus ficheros y directorios, permitiendo así recuperar versiones antiguas de sus datos, o examinar el historial de cambios de los mismos.

Subversion proporciona las siguientes características:
- Versionamiento de directorios- Historial de Versiones
- Envíos atómicos
- Versionado de metadatos
- Elección de las capas de red
- Manipulación consistente de datos
- Ramificación y etiquetado eficientes
- Hackbility
Hudson
Hudson es una herramienta de integración continua escrita en Java, que se ejecuta en un contenedor de servlets, tales como Apache Tomcat o el servidor de aplicaciones GlassFish. Apoya a herramientas SCM tales como CVS, Subversion, Git y ClearCase y puede ejecutar Apache Apache Ant y Maven proyectos, así como los scripts de shell arbitrarios y lote de comandos de Windows. La construcción se puede iniciar por diversos medios, se puede incluir la programación a través de un mecanismo similar a cron y pidiendo a construir una dirección URL.
Hudson es un proyecto de código abierto, y su principal promotor de Hudson es Kohsuke Kawaguchi, quien trabaja para Sun Microsystems.
Tomcat
Es un servidor de servlets, liviano y principalmente soportar hudson.Parte práctica
- Instalación de subversion
- Instalación trac
- Instalación hudson
- Configurar apache con soporte de webDAV y enlazarlo con subversion
- Configurar apache con soporte para python y que trac funcione a traves de apache y no stand-alone server
- Creación de un repositorio con la estructura básica (trunk,branches,tags)
- Creación de un proyecto java (no importa que sea un hola mundo) y que lo ubiquen en el trunk del respositorio
- Configurar hudson para que efectue al menos 3 construcciones exitosas a partir del repositorio web
- Configurar trac para que soporte el proyecto creado en subversion
- Modificar o utilizar un css elaborado (cualquiera) para darle buen aspecto al front-end web de subversion
- Enlazar trac con la exploración de hudson mediange el plugin de hudson y trac, tambien incluir un screenshot donde sea evidente que se han enlazado
Instalando paquetes...
Con permisos root instalamos los paquetes necesarios para la configucacion de SubVersion con los siguientes comandos:
# apt-get update
# apt-get install subversion
# apt-get install libapache2-svn
El paquete libapache2-svn instalará el módulo de Apache WebDAV subversión.
Crear Repositorios
Para crear repositorios se usan los comandos:
# mkdir /var/svn-repos/
# svnadmin create --fs-type fsfs /var/svn-repos/practica1
En donde practica1 es el nombre que le puse a mi practica :D, luego se le deben asignar permisos (exactamente igual para evitar complicaciones :S), y se crea un grupo con los siguientes comandos (se pueden crear todos los grupos que queramos):
# groupadd subversion
# addgroup ale subversion
# chown -R www-data:subversion /var/svn-repos/*
# chmod -R 770 /var/svn-repos/*
Ahora la estructura del repositorio consiste en los subdirectorios trunk, tags y branches que es donde se guarda tod el código de nuestro proyecto:
$ sudo svn mkdir --message="mensaje de que se estan inicializando..." \
file:///var/svn-repos/trunk \
file:///var/svn-repos/tags \
file:///var/svn-repos/branches
Subversion WebDAV
Se utilizan los comandos:
# a2enmod dav
# a2enmod dav_svn
Tambien se pueden asignar usuarios a los grupos con el siguiente comando:
# htpasswd -c /etc/apache2/dav_svn.passwd cindy
Ahora hay q modificar el archivo /etc/apache2/mods-available/dav_svn.conf con las lineas de código:
<Location /practica1>
DAV svn
SVNPath /var/svn-repos/practica1
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
< /Location >
por ultimo se debe reiniciar apache:
# /etc/init.d/apache2 restart
El repositorio se encuentra en la url:
http://localhost/practica1/
Unir con un proyecto de netbeans
Como el objetivo de la practica es solo unir un proyecto para manejarlo en el repositorio de subversion, entonces solo hay que crear un proyecto java simple con algunas lineas de codigo iniciales para probar los cambios (hola mundo).

# svn import proyecto http://localhos/rutadelrepositorio -m "inicio"
También existen otras funciones como checkin y checkout (las definiciones estan en el otro post):
# svn commit -m "..cambiando algo" http://localhost/rutarepositorio/rutaproy # svn checkout http://localhost/rutarepositorio/projecto/trunk miproyecto
Después de enlazar el proyecto de netbeans con subversion, todos los archivos de éste, tienen activadas las opciones para subversion como commit, diff, update, etc, ya de forma grafica.


Para la configuracion de hudson se debe tener instalado un openjdk o sunjdk, una version de apache y el war de hudson, que se puede descargar de la pagina https://hudson.dev.java.net. Para éste ejemplo se va trabajar sobre la carpeta /srv. Debemos asignar permisos e inicializar el tomcat.
#chmod 777 srv #/srv/apache-tomcat-xxx/bin/startup.sh
Si todo se configuro bien, se deberia visualizar la pagina inicial de apache en la url: http://localhost:8080/
Ahora debemos detener el apache con el comando shutdown, y copiar el archivo de hudson sobre:
#/srv/apache-tomcat-xxx/webapps
y reiniciar el apache, hudson debe poder visualizarse sobre la url: http://localhost:8080/hudson.
Para enlazar los proyectos a hudson solo se debe utilizar la interfaz grafica que se muestra en el browser, y todos los pasos son simples siguiendo la creación de un "new job".
Ahora trac
Para la instalacion se debe ejecutar el comando:
#sudo apt-get install trac
Crearemos un directorio para almacenar un proyecto de trac, en este caso trabajamos otra vez sobre la carpeta /srv:
#mkdir /srv/trac
Y se crea un nuevo entorno con el comando:
#trac-admin /svr/trac/practica1 initenv
Se recomienda ingresar los datos sugeridos por el instalador. Al final damos los permisos a la carpeta#sudo chown -R www-data:www-data /srv/trac
Como se debe habilitar modo python, se instala el paquete:
libapache2-mod-python
Por ultimo se configura el archivo de configuración que se encuentra en el directorio /etc/apache2 y le agregamos la siguiente información:
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /srv/trac/practica1
PythonOption TracUriRoot /trac/
DAV svn
SVNPath /var/svn-repos/practica1
AuthType Basic
AuthName “Repositorio Virtual”
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
Y por ultimo se reinicia nuevamente el apache
#/etc/init.d/apache2 restart
Finalmente podemos visualizar un nuevo repositorio de trac en la url: http://localhost/trac/practica1
Finalmente el screenshot de mi UUID:









1 comentarios:
Que onda Cindy, sabes tenes mi mismo fondo de escritorio el de la ranita... xD "Principe Encantado" jajaja, que BUEN POST :-D, neeeeeeeee solo por eso va .. xD, vos te deje un premio podrías escribir 7 cosas tuyas...bueno 7 de tantas, jejeje ...
http://espaciopq.blogspot.com/2009/07/7-cosas-raras.html
gracias, Saluditos :-D
Publicar un comentario