2015-10-04 48 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!应用。