Gestión de Errores con Bugzilla

0
30342

Como instalar Bugzilla en Debian GNU/Linux

Creación: 22-08-2005

Índice de contenidos

1.Introducción

2.Entorno

3.Instalamos los paquetes necesarios

3.1.El servidor web

3.2.El agente de correo electrónico

3.3.La base de datos

3.4.El Bugzilla

4.Administración de Bugzilla

4.1.Internacionalización

5.Creación de usuarios

6.Creando la estructura de los proyectos

6.1.Los productos

6.2.Los componentes

7.Creando un bug

8.Buscando un Bug

9.Conclusiones

10.Sobre el autor

1. Introducción

Mi trabajo en Autentia (http://www.autentia.com) me ha permitido tener contacto con muchos clientes y muchas instalaciones distintas. Y algo que viene a ser un factor común
es la falta de una gestión normalizada de incidencias. Es decir, no suele haber un repositorio central de errores que toda la compañía pueda explotar. Como mucho se suele encontrar alguna hoja de cálculo o algunas anotaciones en un fichero.

En Autentia trabajamos con el objetivo de desarrollar software de calidad. Y para ello pensamos que es indispensable disponer de alguna herramienta que nos permita esta gestión y explotación de errores. La información no puede estar en la cabeza de las personas. La información ha de ser manipulable, clasificable, … debemos poder exprimir la información de nuestra compañía. La información es dinero.

Por eso de vez en cuando os presentamos un tutorial sobre alguna herramienta de este tipo. Como XPlanner, que nos permitía la gestión de proyectos.

En cuanto a la gestión de incidencias, podemos encontrar multitud de herramientas. En este tutorial vamos a ver Bugzilla (http://www.bugzilla.org/).

Bugzilla es una aplicación de código abierto, que podemos usar y modificar libremente. Es muy completa y está muy difundida. Registradas hay unas 430 compañías, organizaciones, o proyectos que utilizan Bugzilla como su gestor de incidencias. Entre estos usuarios podemos encontrar (http://www.bugzilla.org/installation-list/): la NASA, Id Software, el grupo que desarrolla el Kernel de Linux, … y nosotros mismos en Autentia 😉

Bugzilla nos permite saber cuando se da de alta la incidencia, a que versión afecta, quien se encarga de ella, en que estado está (abierta, cerrada, denegada, …), y multitud de cosas más.

Por supuesto se pueden gestionar los permisos (quien puede hacer que cosas), tiene histórico de los cambios, …

2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Ahtex Signal X-9500M (Centrino 1.6 GHz, 1024 MB RAM, 60 GB HD).
  • Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.12, KDE 3.4
  • Apache2 2.0.54-4
  • MySQL Server 4.1.13a-3
  • Exim4 4.52-2
  • Bugzilla 2.18.3-1

3. Instalamos los paquetes necesarios

3.1 El servidor web

Bugzilla es una aplicación que corre en un servidor web, así que necesitamos instalar alguno. Las dependencias del paquete Bugzilla nos ofrece:

  • apache
  • apache-ssl
  • cern-httpd
  • boa
  • wn
  • aolserver
  • roxen
  • thttpd
  • caudium
  • apache-perl
  • apache2-mpm-perchild
  • apache2-mpm-threadpool
  • apache2-mpm-prefork
  • apache2-mpm-worker
  • bozohttpd
  • httpd

Yo me he quedado con apache2 (en concreto apache2-mpm-worker).

# apt-get -u install apache2 apache2-mpm-worker

3.2 El agente de correo electrónico

Bugzilla también necesita un agente de correo para poder enviar correos a los usuarios de Bugzilla. Las opciones que nos ofrece las dependencias del paquete Bugzilla son:

  • sendmail
  • mail-transport-agent

Yo he escogido exim4 (en concreto exim4-daemon-light) que nos proporciona “mail-transport-agent”.

# apt-get -u install exim4 exim4-daemon-light

3.3 La base de datos

Por supuesto también necesitamos una base de datos. Bugzilla nos recomienda “mysql-server”, yo he instalado MySQL Server 4.1 junto con algunas aplicaciones clientes (el administrador y el navegador de consultas):

# apt-get -u install mysql-server-4.1 mysql-admin mysql-query-browser

Si ya teníamos la base de datos instalada, es muy importante que esta esté arrancada antes de instalar el bugzilla.

3.4 El Bugzilla

Ya sólo nos queda instalar el propio Bugzilla, junto a la documentación (esta es opcional):

# apt-get -u install bugzilla bugzilla-doc

La instalación nos hará varias preguntas para configurar Bugzilla:

En la primera pantalla nos pide el tipo de instalación. Lo mejor es coger el modo “Automatic” para que el instalador se encargue de todo. Si seleccionamos el modo “Manual” podremos dar nosotros los valores de configuración de donde está el servidor de base de datos (por defecto localhost), el puerto de la base de datos (por defecto 3306), …

A continuación nos pide la cuanta de correo donde se enviarán todos los mensajes del administrador. Esta cuanta de correo también servirá como el login de la cuenta de
administración de Bugzilla. En mi caso: alejandropg@autentia.com

El nombre real del administrador. En mi caso: Alejandro Perez Garcia.

Nos pide la clave para el usuario administrador de Bugzilla.

Nos pide confirmar la clave del usuario administrador de Bugzilla.

Ya hemos terminado el proceso de instalación. Para comprobar que todo ha ido correctamente podemos abrir en un navegador la dirección: http://localhost/bugzilla.
Nos debería aparecer:

4. Administración de Bugzilla

Si entramos en Bugzilla con la cuenta de administración que hemos creado durante la instalación podremos acceder a las opciones de administración. Estas opciones se encuentran en el menú que hay al final de la página, en Edit –>Parameters.

Dentro de estos parámetros convendría cambiar, como poco los dos primero:

  • maintainer: dirección de correo de la persona encargada de mantener la instalación de Bugzilla
  • urlbase: el servidor y el camino de acceso al Bugzilla. Por ejemplo: http://autentiaserver/bugcilla/

4.1 Internacionalización

Otra de las cosas que podemos configurar en los parámetros, son los lenguajes de Bugzilla. Para ello tenemos los dos siguientes parámetros:

  • languages: es una lista de códigos de idioma, separados por comas
  • defaultlanguage: es el lenguaje por defecto. Este lenguaje será el que vea el usuario si el lenguaje de su navegador no coincide con ninguno de los especificados en la lista anterior.

La internacionalización en Bugzilla se consigue con el uso de plantillas “templates”. Podemos ir a la página: http://www.bugzilla.org/download/#localizations
y bajarnos alguna de las plantillas: árabe, alemán, español, frances, …

Yo en concreto he probado las plantillas de español que me he bajado de
https://sourceforge.net/project/showfiles.php?group_id=63370, en concreto el archivo “bugzilla-2.18.1-es-es.tar.gz”.

Una vez en local he descomprimido el archivo y he copiado la carpeta “es-es” en “/usr/share/bugzilla/template”.
Y he puesto el parámetro “languages” como “en,es-es”. Ojo con esto último porque lo que
ponéis en el parámetro “languages” tiene que coincidir con el nombre del directorio donde están las plantillas.

Ojo también con los permisos de los ficheros que acabáis de copiar, y con el propietario y el grupo. Para ponerlo igual que el otro directorio (el de “en”) podéis hacer:

# chown -R www-data:www-data /usr/share/bugzilla/template/es-es
# chomod -R g+w,o+r /usr/share/bugzilla/template/es-es
# find find /usr/share/bugzilla/template/es-es/ -type d -exec chmod o+x {} ;

Aunque tengo que decir que, una vez instaladas las plantillas las he probado y no me han gustado mucho. Hay cosas que no se ven bien del todo, y no todo está traducido, así que me quedado con la versión en inglés 🙁

Hay varias versiones de las plantillas, así que si probáis otras quizás estén mejor.

5. Creación de usuarios

En la página principal de Bugzilla el enlace “Open a new Bugzilla account” permite a un usuario pedir su propia cuenta de acceso a Bugzilla.

Si queremos crear nosotros los usuarios podemos hacerlo desde la cuenta de administración, desde el menú Edit –> Users –> Add

6. Creando la estructura de los proyectos

6.1 Los productos

La categoría de organización más amplia de Bugzilla son los productos. Un producto refleja un producto del mundo real, por ejemplo, si nos dedicamos ha hacer juegos un producto será cada juego en concreto. Podríamos tener productos especiales como “Common” donde encontraremos piezas reutilizables en otros productos, “Website” para la web, “Administration” para temas de administración, …

Para crear un nuevo producto, en el menú: Products –> Add.

Una vez hemos creado el producto podemos añadir las versiones del mismo (también podríamos decir que un producto es cualquier pieza de software versionable: una librería,
una aplicación, una documentación, …). También podemos hacer la gestión de los grupos, especificar el sistema de votaciones, …

6.2 Los componentes

Un componente sería cada una de las partes que forman el producto, por ejemplo un componente de persistencia, de interfaz de usuario, …

Para crear los componentes podemos volver a la ventana de “Products”, seleccionar el producto que acabamos de añadir y pinchar sobre “Edit components”. En la ventana que nos aparece pinchamos sobre “Add”.

7. Creando un bug

Ahora que tenemos la estructura de los proyectos creada, podemos empezar a dar de alta incidencias.

Para poder dar de alta una incidencia necesitamos estar logados en el sistema. En el menú de la parte inferior hacemos: Actions –> New. Lo primero que nos pedirá será que
seleccionemos el producto en el que queremos dar de alta la incidencia. En la captura de la pantalla podemos ver dos productos: AutentiaResolver (lo habíamos creado antes) y TestProduct.
Este último es un producto que viene de ejemplo cuando instalamos Bugzilla. Después de jugar con él deberíamos borrarlo.

 

A continuación nos aparece la pantalla donde podemos introducir el detalle del error. Si os fijáis, la mayoría de las etiquetas son enlaces, que la pincharlos nos mostrar ayuda sobre el campo en cuestión.

Una vez pinchamos sobre el botón “Commit” el error se da de alta y pasamos a una pantalla que nos permite modificar el error que acabamos de crear.

8. Buscando un Bug

Para buscar basta con pinchar sobre Actions –> Search. Esto nos llevará a un pantalla con dos pestañas: la primera permite hacer búsquedas sencillas, mientras que la segunda nos
permite hacer búsquedas avanzadas.

Podéis ver como la segunda pantalla nos permite especificar muchísimos más parámetros de búsqueda.

9. Conclusiones

Lo que hemos visto aquí es una pequeña muestra de Bugzilla. Os recomiendo que leáis la documentación para ver en más detalle como administrarlo, gestionar la seguridad,
administrar los grupos, las etiquetas, personalización, …

La documentación en línea la podéis encontrar en: http://www.bugzilla.org/docs/

Si habéis instalado el paquete bugzilla-doc la podéis encontrar en: /usr/share/doc/bugzilla-doc/html/index.html

10. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software)

Dir. Implantación y Rendimiento

Formador en tecnologías J2EE, ADOO, UML

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L.

http://www.autentia.com

 

Alejandro Pérez García
Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad