Play framework 2.0 continuous integration setup

非 Y 不嫁゛ 提交于 2019-12-03 02:42:47

问题


I am looking for ideas for a Play 2.0 continuous integration setup. It would contain typical jobs like build after a git push, nightly builds with deployment to a test Heroku instance etc. Also code quality and test coverage metrics generation would be handy.

At the moment the stack looks like Play 2.0 with Java but that might change to Scala.

For "traditional" Java web app I would use Hudson/Jenkins. I found a Hudson plugin for Play but it doesn't seem to support Play 2.0. Is Hudson suitable tool here in general or what is your setup for Play 2.0 applications?


回答1:


Play 2.0's build tool is just a thin wrapper around SBT. You should be able to use Hudson's sbt plugin to execute SBT build commands that are the equivalent of the Play commands you would execute from the console.

We execute the following under Bamboo for our builds:

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

(The SBT_OPTS variable turns off the colour formatting, making test output legible in log files.)




回答2:


I found useful to add JUnit reporting plugin as I couldn't get test results to be displayed otherwise.

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

For PMD and Checkstyle I used this: https://github.com/ymasory/sbt-code-quality.g8

For test coverage I am using JaCoCo at the moment: http://ronalleva.com/2012/04/25/jacoco-and-play.html

Scct could be other option for coverage: http://mtkopone.github.com/scct/

With those and PMD, CheckStyle and JaCoCo plugins for Jenkins I have now quite ok setup for a Play 2 Java project.




回答3:


here Is some detailed tutorial about doing It http://wiki.cloudbees.com/bin/view/DEV/Playframework It based on cloudbees but it would work fro any Jenkins Installation




回答4:


You actually don't even need to use the SBT Plugin. I am running Play 2.1.1 on Jenkins and simply use the Execute Shell. I run something like the following:

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

This works quite well. "play" is simply just a thin wrapper around sbt.

"stage" will create a runnable in your target/server directory. Then, you can simply shell again to actually start your play application!



来源:https://stackoverflow.com/questions/10398543/play-framework-2-0-continuous-integration-setup

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!