testing continuous-integration hudson jenkins playframework-2.0

testing - Configuración de integración continua de Play Framework 2.0



continuous-integration hudson (4)

Aquí hay un tutorial detallado sobre cómo hacerlo http://wiki.cloudbees.com/bin/view/DEV/Playframework Está basado en cloudbees pero funcionaría para cualquier instalación de Jenkins

Estoy buscando ideas para una configuración de integración continua de Play 2.0. Contendría trabajos típicos como compilación después de un git push, compilaciones nocturnas con implementación en una instancia de prueba de Heroku, etc. También sería útil la calidad de código y la generación de métricas de cobertura de prueba.

Por el momento, la pila parece Play 2.0 con Java pero eso podría cambiar a Scala.

Para la aplicación web Java "tradicional" usaría Hudson / Jenkins. Encontré un complemento de Hudson para Play, pero no parece ser compatible con Play 2.0. ¿Hudson es la herramienta adecuada aquí en general o cuál es tu configuración para las aplicaciones Play 2.0?


En realidad, ni siquiera necesita usar el plugin SBT. Estoy ejecutando Play 2.1.1 en Jenkins y simplemente uso Execute Shell. Ejecuto algo como lo siguiente:

cd ./your-play-project-root play clean compile test stage exit

Esto funciona bastante bien "jugar" es simplemente una envoltura delgada alrededor de sbt.

"stage" creará un ejecutable en su directorio de destino / servidor. ¡Entonces, simplemente puedes volver a shell para iniciar tu aplicación de juego!


Encontré útil agregar el complemento de informes JUnit ya que no podía obtener resultados de prueba para mostrar de otra manera.

https://github.com/bseibel/sbt-simple-junit-xml-reporter-plugin

Para PMD y Checkstyle utilicé esto: https://github.com/ymasory/sbt-code-quality.g8

Para la cobertura de prueba, estoy usando JaCoCo en este momento: http://ronalleva.com/2012/04/25/jacoco-and-play.html

Scct podría ser otra opción de cobertura: http://mtkopone.github.com/scct/

Con esos y PMD, los plugins CheckStyle y JaCoCo para Jenkins ahora tengo una configuración bastante buena para un proyecto Java de Play 2.


La herramienta de compilación de Play 2.0 es solo una delgada envoltura alrededor de SBT . Debería poder utilizar el plugin sbt de Hudson para ejecutar comandos de compilación SBT que son el equivalente de los comandos de reproducción que ejecutaría desde la consola.

Ejecutamos lo siguiente en Bamboo para nuestras compilaciones:

SBT_OPTS="-Dsbt.log.noformat=true" sbt clean compile test

(La variable SBT_OPTS desactiva el formato del color, lo que hace que el resultado de la prueba sea legible en los archivos de registro).