2010-12-29 26 views
5

Tengo un proyecto que usa Play framework y el estándar corporativo es que todos los proyectos deben ser construidos por Hudson. Sin embargo, no puedo encontrar la manera de hacerlo, ya que Hudson no sigue ningún estándar de Java y requiere el marco de trabajo instalado en la computadora en la que se ejecuta. He intentado construir el proyecto con Maven (si hubiera logrado esto, agregarlo a Hudson debería ser bastante simple), pero no lo he hecho funcionar. Intenté el Play Maven module, pero Maven dice que no encuentra el repositorio externo que se encuentra en la lista (http://nexus.infin-it.fr/content/groups/public). Esto podría ser porque estoy detrás de un firewall. También probé la receta que figura en here, pero la compilación maven local falla porque no puede encontrar org.playframework:play:1.1:jar.¿Cómo construyo un proyecto Play con Hudson?

¿Alguien ha hecho esto y puede proporcionar un howto?

+0

¿Cuál es el problema con tener play-framework en el servidor hudson? – niels

+0

No debería ser un problema, pero en la práctica es debido a interminables trámites y peleas con el departamento de operaciones ... – mranders

Respuesta

3

Se puede hacer sin necesidad de instalar el marco de reproducción en el servidor de Hudson, pero es bastante complicado:

  1. poner el juego bibliotecas (play.jar y sus dependencias) en un repositorio Maven
  2. Crear un pom.xml para su proyecto, configurado con:
    • bibliotecas tesis como dependencias
    • sus dependencias específicas de proyectos (lib del proyecto)
    • la carpeta fuentes java de su proyecto (en el experto compilador-plugin): "aplicación"

Si su proyecto es simple (no hay dependencias del módulo), este pom le permite construir la juega proyecto fuentes de Java usando Maven.


Si su proyecto tiene dependencias del módulo, que tendrá que añadir el tarro de las dependencias en sus dependencias del pom.

Para hacer eso, tendrá que crear archivos jar de los módulos si no tienen paquetes empaquetados (para obtener la clase "CRUD" del módulo CRUD, por ejemplo).

+0

¿Qué hay de ejecutar las pruebas web de Hudson? ¿Esto también se puede hacer? – mranders

1

Acabo de ver el repositorio que ha vinculado (http://nexus.infin-it.fr/content/groups/public). Y adivina qué, encontré el juego-1.1.jar. Sin embargo, el ID de artefacto es: org.play: Juego: 1,1: frasco y no org.playframework

1

En teoría, podría poner el archivo Zip completo en su compilación o en su repositorio, y luego usar Hudson para iniciar un script Ant para descargar Play en el agente Hudson, descomprimirlo y luego ejecutar comandos en él . Es un poco torpe, pero debería funcionar.

Cuestiones relacionadas