Nov 11 2009

Hudson, Sventon y conexiones SSH con llaves (bajo Tomcat y Windows)

Categoría: Integración ContinuaJuan @ 1:59 pm

¡Demonios!, esto debe ser una tontería y seguramente que soy el único pardillo que no sabía como configurar Hudson y Sventon juntos (un navegador de repositorios para el que no lo conozca) bajo Tomcat y en Windows para que funcionen usando svn+ssh con llaves. Si no es así, y ya que me ha costado sangre, sudor y lágrimas, ahí os dejo la solución (que aunque simple, me ha costado mucho encontrar).

Basta con añadir los siguientes parámetros al final del archivo catalina.properties que normalmente se encuentra en C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf:

svnkit.ssh2.key=_llave_
(por ejemplo: “D:/ssh_keys/userkeys/llave”)
svnkit.ssh2.username=_nombre_de_usuario_

Seguro que esta ni es la mejor solución, ni la más elegante pero al menos funciona (que con el tiempo que me ha llevado es, al menos por ahora, más que suficiente).

Si alguien conoce una manera mejor o más apropiada, le estaría muy agradecido si la compartiese.

Etiquetas: , , , ,


Ago 19 2008

Interacción con el escritorio, JSUnit y Hudson

Categoría: Integración ContinuaJuan @ 10:35 am

Hace unas cuantas semanas trabajando con un equipo en Kuala Lumpur me encontré con un problema al utilizar JSUnit junto con Hudson (en Windows). Para quien no lo conozca, Hudson, es un motor de integración continua similar a CruiseControl que, quizá, sea el más conocido (nota mental: escribir una entrada en exclusiva para Hudson en el futuro).

JSUnit, el entorno de test unitarios para JavaScript, utiliza un navegador (Explorer, FireFox, Opera, etc.) para ejecutar las pruebas. Cuando lanzaba las pruebas desde la consola (usando ant), estas eran ejecutadas sin problemas (abriendo el navegador pertinente y cerrándolo al terminar), sin embargo, cuando la misma operación era efectuada por Hudson, el navegador no era lanzado aunque el proceso era ejecutado (el proceso aparecía en ejecución en la lista de procesos).

Hudson normalmente es ejecutado por Apache Tomcat, el cual suele ser un servicio, y, por defecto, Tomcat tiene deshabilitada la opción de “interacción con el escritorio”. Esta era la razón por la cual el navegador no era ejecutado correctamente.

La manera de corregir este problema es yendo a las propiedades del servicio de Tomcat (accesibles desde Tomcat o desde las propiedades de servicios de Windows) y desde allí a la pestaña “Log on”. En esta pestaña hay que habilitar la opción “Allow service to interact with desktop” (ver la siguiente imagen) y una vez hecho esto reiniciar el servicio. Ahora Hudson debería ser capaz de lanzar cualquier navegador (o programa en ventana) sin problemas.

Integración de JSUnit y Hudson

Etiquetas: , , , , , ,