在Travis的容器中运行testing

在Travis上构build我的应用程序时,我试图在Docker容器中运行testing。 容器启动和testing运行,当我logging容器输出,我可以看到他们已经通过。 这是我的理解,我可以使用grep,如下所示。 所以这是我的travis脚本:

脚本:

  • docker工人 – 组成up -d

  • docker日志dockertestapp_app_1

  • docker日志2>&1 dockertestapp_app_1 | grep -q'npm info ok'

我只想grep容器日志的输出,看看testing是否通过,但总是失败。 我错过了一些简单的东西吗

先谢谢你!

为了避免在评论中描述的60秒的睡眠,请手动开始testing,如下所示:

docker exec -it dockertestapp_app_1 bash -c 'tests.py > /proc/1/fd/1'

注意我正在执行一个testing文件(在这个例子中是tests.py )并将输出设置为/proc/1/fd/1 。 通过这种方式,您可以正常地grepexpression式,这意味着您正在进行的testing通过。

提示 :您可能不需要输出到/proc/1/fd/1docker日志,因为您的testing脚本可能会返回一个非零的退出代码来指示testing失败。 这样你甚至不需要脚本中的grep行。