2015-10-04 78 views
0

我想使用Jenkins CI與Play框架進行集成測試。我的情況是如下:在Jenkins中玩框架服務集成測試CI

  1. 我有2個項目,項目A和B.
  2. 項目A依賴於項目B的依賴是因爲這樣對項目A運行測試,我需要啓動項目B先。
  3. 我已經在項目A單元測試,但我需要測試項目A的整合和B.

我使用SBT插件來執行SBT和項目A和項目B分別工作正常。

我找不出一個合適的方法來做到這一點。我面臨的問題是我需要運行項目B作爲預構建步驟,但項目B必須保持運行狀態,但項目B在構建步驟執行完成後立即結束run sbt並完成構建我不想要。

我執行以運行項目B的命令是clean compile run,它作爲SBT啓動程序的操作執行。

我試過SBT stage,然後運行jar,但這也導致jar停止構建的控制並且項目A沒有機會開始的問題。

我也檢查了Spawning a process in Jenkins但我無法做到這一點。我使用的是Ubuntu,我嘗試使用nohup而不是daemonize,如鏈接中所述,將其添加爲執行shell腳本構建步驟並啓動Project B服務器進程並在一段時間後終止它。我也不認爲這可能是我做我想做的唯一方法。

可能是我使用詹金斯錯誤或可能是我需要看另一個方向,所以任何幫助,這是非常感謝。

回答

0

我遇到了類似的問題,我需要釋放控制檯來運行其他的東西。我做了類似的事情(即使用sbt命令創建腳本),然後使用nohup像這樣運行腳本:

nohup ./myScript.sh & 

和Play!應用程序在後臺運行得很好。

請記住在您的案例中使用不同的端口,因爲您正在運行兩個Play!應用。