En este post explicare como instalar y configurar estas tres herramientas bajo el ent# /etc/init.d/tomcat5.5 restartorno linux utilizando la distribución Ubuntu 9.04, para realizar instalación es necesario tener una conexión a internet, luego de instalar y configurar las tres herramientas explicare como utilizarlas con Netbenas 6.5. Todos los comando son ejecutados en modo root. Para estar en modo root en la consola escribimos en la misma
# sudo su
Instalando Subversion
Para la instalación de subversion es necesario instalar el servidor apache:
# apt-get install apache2
luego de la instalación de apache necesitamos los paquetes de subversion y la libreria para apache:
# apt-get install subversion apache2-svn
Ahora crearemos un repositorio para nuestros trabajos,
# mkdir -p /var/svn
entramos a las carpetas creadas y en ellas crearemos nuestro repositorio del proyecto
# cd /var/svn
#svnadmin create practica
luego, hay que crear un grupo al cual llamaremos “svn” y le agregaremos el usuario “www-data”, y le daremos permisos:
# groupadd svn
# add user www-data svn
# chown -R www-data.svn /var/svn/
para poder acceder desde un explorador al repositorio de subversion, crearemos un archivo dentro del directorio /etc/apache2/sites-available. Al archivo lo llamaremos mi-host:
# gedit /etc/apache2/sites-available/mihost
dentro del archivo escribimos los siguiente:
Dav svn: Activamos el repositorio a través del protocolo web-DAV.
SVNPath: Ruta completa al repositorio, esta si que es la ruta física del sistema de ficheros.
SVNIndexXSLT: Hoja de transformación con la que se visualizará el contenido del repositorio si accedemos desde un navegador.
AuthUserFile: Ruta al archivo de los password (puede existir un archivo por repositorio).
Require valid-user: Especifica que solo acepta usuarios válidos, o sea aquellos que introduzcan un nombre y contraseña correctos.
Guardamos el archivo, lo siguiente es la activación de nuestro host virtual:
# a2ensite mihost
lo siguiente es la creación de un usuario y password para entrar al repositorio desde el explorador, para eso llenaremos el archivo /etc/apache2/avn-auth el cual contiene los usuarios:
# htpasswd -cm /etc/apache2/avn-auth usuario
el sistema nos pedirá establecer la contraseña para el usuario que ingresamos
reiniciamos el servidor de apache
# /etc/init.d/apache2 restart
ingresamos al navegador web y nos dirigimos al repositorio, en la dirección url escribimos http://localhost/svn/practica/, como podemos observar no tiene gran vista, para agregarle una mejor vista al repositorio, copiamos la hoja de estilo que viene con el servidor apache:
# cp /var/www/apache-default/svnindex.* /var/www/
reiniciamos el servidor de apache
# /etc/init.d/apache2 restart
ingresamos a la url del repositorio http://localhost/svn/practica/ y como podemos observar la vista del repositorio ha cambiado.
Para crear carpetas en el repositorio de la manera mas sencilla instalamos el paquete “rapidsvn”, el cual viene con una interfaz gráfica para que podamos ver nuestro repositorio:
# apt-get install rapidsvn
Para acceder a rapidsvn nos vamos ha aplicaciones>programacion>RapidSVN, en ella podemos ver nuestro repositorio, para crear una carpeta apretamos el click derecho y nos vamos a la opción “make directory” y escribimos el nombre que deseamos que tenga en nuestra carpeta.
Al finalizar la instalación de subversion debera de verse de la siguiente manera
instalando Hudson
para la instalación de Hudon es necesario tener el servidor Tomcat, para instalarlo escribimos lo siguiente:
# apt-get install tomcat5.5 tomcat5.5-admin
ahora hay que configurar los usuarios para poder ingresar a tomcat, para eso editaremos el archivo tomcat-users.xml
# gedit /usr/share/tomcat5.5/conf/tomcat-users.xml
editamos el archivo, en el mismo agregaremos 3 roles “admin, manager, tomcat” y agregaremos un usuario y su contraseña, al usuario le daremos los tres roles que creamos.
guardamos los cambios y reiniciamos tomcat
# /etc/init.d/tomcat5.5 restart
con eso tenemos instalado el servidor tomcat y podremos accesar con nuestro usuario.
para la instalación de Hudson es necesario descargar el .war, lo pueden descargar de aqui http://hudson.gotdns.com/latest/hudson.war
para instalar el war nos vamos al servidor de tomcat, en el navegador web ingesamos el siguiente url http://localhost:8180/manager/html nos pedira nuestro usuario y contraseña, la cual creamos en el archivo xml.
Para poder utilizar Hudson tenemos que desplegar el .war que descargamos, nos vamos a la opción de desplegar, y nos posicionamos en la opción “archivo WAR a desplegar” y presionamos el botón de examinar
una vez localizado el .war presionamos el botón “desplegar” y listo tendremos instalado Hudson en nuestro servidor tomcat, para comprobarlo ingresemos el siguiente url http://localhost:8180/hudson/
Instalación de Trac
para la instalación de trac escribimos lo siguiente en consola:
# apt-get install trac
ahora especificaremos la ruta del proyecto que creamos en Subversion:
# trac-admin /var/svn/practica initenv
ahora crearemos el directorio donde guardaremos nuestros proyectos
# mkdir -p /var/trac/projects/pratrac
# trac-admin /var/trac/projects/pratrac initenv
Al especificar la ruta del Project Enviroment con trac-admin, preguntará por el nombre que le daremos al proyecto, por la Database Connection String (por default sqlite), el tipo de control de versiones (por default svn), y luego la dirección del repositorio (si no queremos enlazarlo con uno lo dejamos en blanco), luego la locación de los templates (default /usr/share/trac/templates directorio donde se instalo trac).
Esto del Database Connection String, es una cadena para especificar los datos del gestor de base de datos que queremos usar. Podemos usar MySQL, PostgreSQL y SQLite, este úlitmo viene por defecto y ese utilizaremos en este ejemplo, en artículos posteriores veremos como se definen las cadenas para MySQL y PostgreSQL.
Ahora para configurar trac en modo de Webserver, es necesario el modo python de apache, para verificar de que este activado el modo apache:
# a3enmod python
si no estaba activado, lo activara y tendremos que reiniciar nuestro servidor apache
# /ete/init.d/apache2 restart
para que se pueda ingresar a Trac desde apache tendremos que crear un archivo en el directorio /etc/apache2/sites-available, al archivo lo llamaremos trac
# gedit /etc/apache2/sites-available/trac
y escribiremos en el lo siguiente
PythonOption TracEnv
: Ruta completa al proyecto, esta si que es la ruta física del sistema de ficheros.
PythonOption TracUriRoot
: Nombre del directorio raíz del proyecto.
Guardamos el archivo y reiniciamos apache:
# /etc/init.d/apache2 restart
y listo tendremos instalado trac en nuestro servidor apache, para ingresar a el nos vamos al navegador web e ingresamos el siguiente url http://localhost/projects/pratrac se vera de la siguiente manera
Creación de un proyecto Java
Para esto utilizaremos el IDE Netbeans 6.5, el proyecto lo cargaremos al repositorio de Subversion en la carpeta “trunk” y lo enlazaremos a Hudson y tambien a Trac.
Como primer paso ingresamos a Netbeans, nos vamos a la opcion Control de versiones>Subversion>extracción nos aparecerá la siguiente ventana preguntándonos el url del repositorio de Subversion, el usuario y la contraseña:
al terminar el sistema nos preguntará si deseamos crear un proyecto al cual le decimos que si, en esta practica se creo un proyecto simple como el “hola mundo” lo llamaremos “analisis2”.
Para exportar el proyecto al repositorio de Subversion, le damos un click derecho al proyecto y nos dirigimos a contro de versiones>exportar a Subversion, y listo nuestro proyecto estara en el repositorio de Subversion.
Ahora uniremos Hudson y Trac al repositorio de Subversion
Como vamos a unirlo con Trac, primero hay que descargar el plugin desde aqui https://hudson.dev.java.net/files/documents/2402/127186/trac.hpi
para instalar el plugin nos vamos al servidor de hudson y nos dirigimos a la Manage Hudson>Manage Plugins>Advance, estando ahi nos vamos a donde dice “Upload Plugin” presionamos el botón de examinar y buscamos el plugin, para finalizar presionamos el boton de “Upload” y listo nuestro plugin de trac estara instalado.
Para unir Hudson a Subversion y Trac, ingresamos al servidor de Hudson y nos vamos a la opcion “New Job”, nos aparecera un asistente amigable, escribimos el nombre del proyecto en mi caso lo llamare “Practica de Analisis 2” en la siguiente pantalla nos aparecerá un formulario el cual llenaremos las siguientes opciones:
como lo vamos a unir a Trac en el renglon “Trac website” escribimos la url de trac.
En la opción “Source code managment” escogemos la opción de Subversion. Nos pedira la url del repositorio de subversion, si es la primera vez que lo ligamos a subversion nos pedira ingresar el usuario y el password para tener acceso al repositorio de subversion.
Lo salvamos y listo nuestro proyecto de netbeans esta unido a Subversion, Hudson, Trac.
Si entramos al proyecto podremos ver que tenemos hudson ligado a Trac, en el lado izquierdo aparece el simbolo de Trac y su respectivo link.
Ahora para ver si funciona modificamos el código de nuestro proyecto de java en netbenas, cada modificación que hagamos tendremos que darle un commit, para esto hacemos click derecho sobre el proyecto, y nos vamos a subversion>commit
para ver si se han realizado cambios en el proyecto, nos vamos al servidor de hudson, entramos al proyecto y presionamos la opción “Build Now”, para revisar si se han hecho cambios nos vamos a la opción de “Changes”, ahí podremos observar los cambios que se han realizado y podremos ver los detalles de los mismos.
Como muestro a continuación yo he realizado 3 builds.