26

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.Configuración de integración continua de Play Framework 2.0

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 Hudson plugin for 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?

+0

al menos la cobertura del plugin de cobertura no es compatible con el juego 2.x. – nylund

Respuesta

24

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

Ejecutamos lo siguiente bajo bambú para nuestra construye: (. La variable SBT_OPTS se apaga el formato de color, por lo que la salida de prueba legible en archivos de registro)

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

9

he encontrado útil añadir JUnit plug-in de informes ya que no podía conseguir resultados de la prueba que se mostrarán de otra manera.

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

Para PMD y Checkstyle He utilizado este: https://github.com/ymasory/sbt-code-quality.g8

Para cobertura de las pruebas que estoy usando JaCoCo en la actualidad http://ronalleva.com/2012/04/25/jacoco-and-play.html

SCCT podría ser otra opción para la cobertura: http://mtkopone.github.com/scct/

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

3

En realidad, ni siquiera necesita usar el complemento 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!

Cuestiones relacionadas