Jenkins使用流程的退出状态来判断成功或失败。
docker-composeup设计用于协调许多容器。当您处理多个服务/容器时,关于什么构成成功和失败,会有一些灰色区域。
docker-compose退出时报告的所有内容是
docker-compose命令已成功完成,而不是它运行的所有容器都可以。
docker-compose run <service> <command>将为服务运行单个命令并返回该命令的退出状态。
如果您依赖多个服务/容器进行测试,则
docker-compose up只需调出所需的服务即可。然后再运行
docker-compose runrubyservice rspec以进行测试。
撰写分隔
如果要将测试与应用程序容器分开,请创建另一个
docker-compose-test.yml文件,其中包含仅用于测试的服务定义。
version: "2.1"tests: build: context: . dockerfile: Dockerfile.tests cmd: rspec
调出主要应用程序容器后,运行
docker-compose -f docker-compose-test.yml run tests



