26

我正在尋找Play 2.0持續集成設置的想法。它將包含典型的作業,比如在git推後構建,每晚通過部署到測試Heroku實例等構建。代碼質量和測試覆蓋度度量生成將很方便。播放框架2.0持續集成設置

目前堆棧看起來像使用Java的Play 2.0,但可能更改爲Scala。

對於「傳統」Java Web應用程序,我會使用Hudson/Jenkins。我找到了Hudson plugin for Play,但它似乎不支持Play 2.0。一般來說,Hudson是否適合使用此工具,或者您的Play 2.0應用程序的設置是什麼?

+0

至少覆蓋插件cobertura不支持播放2.x. – nylund

回答

24

Play 2.0的構建工具只是一個薄薄的包裝,圍繞着SBT。您應該可以使用Hudson的sbt plugin執行SBT構建命令,這些命令與您將從控制檯執行的Play命令相同。

我們執行竹下下面我們構建:(該SBT_OPTS變量關閉顏色格式,使得在日誌文件中測試輸出清晰)

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

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/

與那些和PMD,CheckStyle和JaCoCo插件詹金斯我現在有Play 2 Java項目設置相當不錯。

3

你甚至不需要使用SBT插件。我在Jenkins上運行Play 2.1.1,並使用Execute Shell。我運行如下:

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

這工作得很好。 「play」只是一個簡單的包裝。

「stage」會在您的目標/服務器目錄中創建一個可運行的目錄。然後,您可以簡單地再次shell以真正啓動您的遊戲應用程序!