Play framework 2.0 configuración de integración continua


Estoy buscando ideas para una configuración de integración continua Play 2.0. Contendría trabajos típicos como build after a git push, nightly builds with deployment to a test Heroku instance, etc. También la calidad del código y la generación de métricas de cobertura de prueba serían útiles.

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

Para la aplicación web Java "tradicional" usaría Hudson/Jenkins. He encontrado un Hudson plugin para Jugar pero no parece para apoyar el Juego 2.0. ¿Hudson es la herramienta adecuada aquí en general o cuál es su configuración para las aplicaciones Play 2.0?

Author: mtpettyp, 2012-05-01

4 answers

La herramienta de compilación de Play 2.0 es solo una envoltura delgada alrededor de SBT . Debería poder usar el complemento 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 bajo Bamboo para nuestras construcciones:

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

(La variable SBT_OPTS desactiva el formato de color, haciendo que la salida de prueba sea legible en los archivos de registro.)

 24
Author: Alex Varju,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-02 17:44:49

Me pareció útil agregar el complemento JUnit reporting ya que no pude obtener los resultados de la prueba para que se muestren de lo contrario.

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

Para PMD y Checkstyle usé 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 para la cobertura: http://mtkopone.github.com/scct /

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

 9
Author: Petteri Hietavirta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-31 11:56:12

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

 4
Author: Ahmed Aswani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-03 14:40:54

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

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

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

"stage" creará un ejecutable en el directorio target/server. Entonces, usted puede simplemente shell de nuevo para iniciar realmente su aplicación de juego!

 3
Author: noplay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-01 23:11:32