【发布时间】:2016-01-01 03:34:10
【问题描述】:
我想使用 Jenkins CI 与 Play 框架进行集成测试。我的场景如下:
- 我有 2 个项目,项目 A 和 B。
- 项目 A 依赖于项目 B。依赖关系是这样的,要在项目 A 上运行测试,我需要先启动项目 B。
- 我已经在项目 A 中进行了单元测试,但我需要测试项目 A 和 B 的集成。
我正在使用 SBT 插件执行 SBT,项目 A 和项目 B 分别工作正常。
我想不出一个正确的方法来做到这一点。我面临的问题是我需要将项目 B 作为预构建步骤运行,但项目 B 必须保持在运行状态,但项目 B 在构建步骤执行 sbt 的run 操作并完成后立即结束构建我不想要的。
我为运行项目 B 执行的命令是 clean compile run,它作为 SBT 启动器的操作执行。
我尝试了 SBT stage 然后运行 jar,但这也导致 jar 停止对构建的控制并且项目 A 没有机会启动的问题。
我也检查了Spawning a process in Jenkins,但我也无法让它工作。我正在使用 Ubuntu,我尝试使用 nohup 而不是链接中所述的 daemonize,方法是将其添加为 Execute shell script 构建步骤,它会启动 Project B 服务器进程并在一段时间后将其杀死时间。我也不认为这可能是做我想做的事情的唯一方法。
可能是我错误地使用了 Jenkins,或者我需要从另一个方向寻找,因此非常感谢任何帮助。
【问题讨论】:
标签: jenkins playframework sbt