我正在寻找Play 2.0持续集成设置的想法。它将包含典型的工作,例如在git推送之后构建,每晚构建到测试Heroku实例等。此外,代码质量和测试覆盖率指标的生成也很方便。
目前,堆栈看起来像Play 2.0 with Java但可能会改为Scala。
对于“传统”Java Web应用程序,我会使用Hudson / Jenkins。我找到了Hudson plugin for Play,但它似乎不支持Play 2.0。 Hudson一般是适合的工具吗?或者您对Play 2.0应用程序的设置是什么?
答案 0 :(得分:24)
Play 2.0的构建工具只是SBT的一个薄包装器。您应该能够使用Hudson的sbt plugin来执行SBT构建命令,这些命令相当于您将从控制台执行的Play命令。
我们在Bamboo下执行以下构建:
SBT_OPTS="-Dsbt.log.noformat=true"
sbt clean compile test
(SBT_OPTS变量关闭颜色格式,使测试输出在日志文件中清晰可见。)
答案 1 :(得分: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项目了。
答案 2 :(得分:4)
这里有一些关于这样做的详细教程 http://wiki.cloudbees.com/bin/view/DEV/Playframework 它基于cloudbees,但它适用于任何Jenkins安装
答案 3 :(得分:3)
您实际上甚至不需要使用SBT插件。我在Jenkins上运行Play 2.1.1并只使用Execute Shell。我运行以下内容:
cd ./your-play-project-root
play clean compile test stage
exit
这很有效。 “玩”只是sbt周围的一个薄薄的包装。
“stage”将在目标/服务器目录中创建一个runnable。然后,您可以再次尝试再次实际启动您的播放应用程序!