docker在gitlab ci中等待不';工作不会失败
我在gitlab ci中的docker中使用docker来运行测试环境并在其中运行测试 为了等待所有测试完成,我使用docker waitdocker在gitlab ci中等待不';工作不会失败,docker,sh,gitlab-ci,Docker,Sh,Gitlab Ci,我在gitlab ci中的docker中使用docker来运行测试环境并在其中运行测试 为了等待所有测试完成,我使用docker wait tests: image: docker:19-git stage: tests script: - docker-compose -f docker-compose/my_test_env.yml up -d #setting up env - docker-compose -f docker-compose
tests:
image: docker:19-git
stage: tests
script:
- docker-compose -f docker-compose/my_test_env.yml up -d #setting up env
- docker-compose -f docker-compose/tests.yml up -d #running tests
- docker wait docker-compose-services_tests_1
如果测试出现一些问题,我需要使作业失败,但是(docker wait docker-compose-services\u tests\u 1
)打印容器退出代码,返回此退出代码被视为成功操作,因此作业被视为通过<代码>docker wait没有不打印退出代码的选项
因此,我需要一些sh(不是bash)脚本来运行docker wait
,如果容器返回非0退出代码(使作业失败),则使用非0退出代码退出
正确的方法是什么?这里有两个选项
docker compose-f docker compose/tests.yml up中的-d
,这样做不需要使用第三步
谢谢但这部分解决了我的问题。如果测试失败,docker将退出,退出时代码为
,退出时代码为8
。如果测试通过,docker退出,代码为退出,代码为0
。但gitlab ci作业在这两种情况下都取得了成功。但我需要它在退出时失败,代码为8
。