Testing Play framework 2.0连续集成设置

Testing Play framework 2.0连续集成设置,testing,continuous-integration,hudson,jenkins,playframework-2.0,Testing,Continuous Integration,Hudson,Jenkins,Playframework 2.0,我正在寻找一个播放2.0连续集成设置的想法。它将包含典型的工作,如git推送后的构建、部署到测试Heroku实例的夜间构建等。此外,代码质量和测试覆盖率指标的生成也很方便 目前,该堆栈看起来像Java的Play2.0,但这可能会更改为Scala 对于“传统”Java web应用程序,我将使用Hudson/Jenkins。我找到了一个,但它似乎不支持Play 2.0。一般来说,Hudson是合适的工具还是Play 2.0应用程序的设置?Play 2.0的构建工具只是一个薄薄的包装。您应该能够使用H

我正在寻找一个播放2.0连续集成设置的想法。它将包含典型的工作,如git推送后的构建、部署到测试Heroku实例的夜间构建等。此外,代码质量和测试覆盖率指标的生成也很方便

目前,该堆栈看起来像Java的Play2.0,但这可能会更改为Scala


对于“传统”Java web应用程序,我将使用Hudson/Jenkins。我找到了一个,但它似乎不支持Play 2.0。一般来说,Hudson是合适的工具还是Play 2.0应用程序的设置?

Play 2.0的构建工具只是一个薄薄的包装。您应该能够使用Hudson执行SBT构建命令,这些命令与您将从控制台执行的播放命令等效

我们在竹子下为我们的构建执行以下内容:

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

(SBT_OPTS变量关闭颜色格式设置,使测试输出在日志文件中清晰可见。)

下面是一些详细的教程
它基于cloudbees,但在任何Jenkins安装中都可以使用

我发现添加JUnit reporting插件很有用,因为我无法以其他方式显示测试结果

对于PMD和Checkstyle,我使用了以下方法:

对于测试覆盖率,我目前正在使用JaCoCo:

Scct可能是覆盖范围的其他选项:


有了这些以及Jenkins的PMD、CheckStyle和JaCoCo插件,我现在已经为Play 2 Java项目做了很好的设置。

实际上,您甚至不需要使用SBT插件。我在Jenkins上运行Play2.1.1,只需使用executeshell。我运行类似以下内容的操作:

cd ./your-play-project-root
play clean compile test stage
exit
这很有效。“播放”只是sbt的一个薄薄的包装


“stage”将在目标/服务器目录中创建一个runnable。然后,您可以简单地再次shell以实际启动您的play应用程序

至少cobertura的覆盖插件不支持Play2.x。