【问题标题】:Play framework services integration testing in Jenkins CI在 Jenkins CI 中播放框架服务集成测试
【发布时间】:2016-01-01 03:34:10
【问题描述】:

我想使用 Jenkins CI 与 Play 框架进行集成测试。我的场景如下:

  1. 我有 2 个项目,项目 A 和 B。
  2. 项目 A 依赖于项目 B。依赖关系是这样的,要在项目 A 上运行测试,我需要先启动项目 B。
  3. 我已经在项目 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


    【解决方案1】:

    我遇到了类似的问题,我需要释放控制台以运行其他东西。我做了类似的事情(即使用 sbt 命令创建脚本),然后使用 nohup 运行脚本,如下所示:

    nohup ./myScript.sh &
    

    还有戏剧!应用程序在后台运行得很好。

    请记住在您的情况下使用不同的端口,因为您正在运行两个 Play!应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 2010-10-21
      • 2017-09-21
      • 2021-06-21
      相关资源
      最近更新 更多