【问题标题】:Play framework 2.0 continuous integration setupPlay framework 2.0 持续集成设置
【发布时间】:2013-05-31 17:56:59
【问题描述】:

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

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

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

【问题讨论】:

  • 至少覆盖插件cobertura不支持play 2.x。

标签: testing continuous-integration hudson jenkins playframework-2.0


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    我发现添加 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 项目了。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        这很好用。 "play" 只是 sbt 的一个薄包装。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-07-22
          • 2012-10-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-13
          • 2011-02-01
          相关资源
          最近更新 更多