26

我正在寻找 Play 2.0 持续集成设置的想法。它将包含典型的工作,例如在 git push 之后构建,每晚构建并部署到测试 Heroku 实例等。代码质量和测试覆盖率指标的生成也很方便。

目前堆栈看起来像 Play 2.0 with Java,但可能会更改为 Scala。

对于“传统”Java web 应用程序,我会使用 Hudson/Jenkins。我找到了一个用于 Play 的 Hudson 插件,但它似乎不支持 Play 2.0。Hudson 是否适合这里的工具,或者您对 Play 2.0 应用程序的设置是什么?

4

4 回答 4

24

Play 2.0 的构建工具只是SBT的一个薄包装。您应该能够使用 Hudson 的sbt 插件来执行 SBT 构建命令,这些命令等同于您从控制台执行的 Play 命令。

我们在 Bamboo 下为我们的构建执行以下操作:

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

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

于 2012-05-02T06:51:52.223 回答
9

我发现添加 JUnit 报告插件很有用,因为否则我无法显示测试结果。

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

对于 PMD 和 Checkstyle,我使用了这个: https ://github.com/ymasory/sbt-code-quality.g8

对于测试覆盖率,我目前正在使用 JaCoCo: http ://ronalleva.com/2012/04/25/jacoco-and-play.html

Scct 可能是其他覆盖选项:http: //mtkopone.github.com/scct/

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

于 2012-10-16T09:36:12.427 回答
4

这里有一些关于做它的详细教程 http://wiki.cloudbees.com/bin/view/DEV/Playframework 它基于 cloudbees 但它适用于任何 Jenkins 安装

于 2012-05-03T14:40:54.080 回答
3

您实际上甚至不需要使用 SBT 插件。我在 Jenkins 上运行 Play 2.1.1,只需使用 Execute Shell。我运行如下内容:

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

这工作得很好。"play" 只是 sbt 的一个薄包装。

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

于 2013-05-01T23:11:32.480 回答