在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/1
docker日志,因为您的testing脚本可能会返回一个非零的退出代码来指示testing失败。 这样你甚至不需要脚本中的grep行。
- javax.naming.NameNotFoundException:名称未在此上下文中绑定。 无法find
- 如何更改Docker连接到的VirtualBox VM?
- Docker容器:服务vs完整的应用程序
- 将主机映射添加到Kubernetes中的/ etc / hosts
- 使用Dockerfile创buildOpenShift应用程序的问题(使用oc new-app)
- 防止docker在更改代码后从头开始构build映像
- Dockerfile和docker-compose.yaml用于不同的环境
- 从Docker容器连接到本地主机上的rabbitmq
- docker运行<IMAGE> <MULTIPLE COMMANDS>