我的目的是在未通过单元测试的情况下强制docker构建失败。我在DockerFile中使用以下行:
RUN python3 -m unittest discover test
我的单元测试在测试目录中的类中。测试已经运行,但是测试失败不会导致构建失败。
我知道非零退出代码是如何停止构建,但是使用此命令似乎不会发生。
答案 0 :(得分:0)
有同样的问题:如果在Azure管道中unittest失败,则docker构建失败 我将以下代码放入build.yml文件中。
errors=$(docker logs careplan-tests-1 2>&1 | grep "FAILED" -c)
if [ $errors > 0 ]; then
echo -e "unittest tests failed"
docker rm apiunittest
exit 1
fi
将输出显示为“ ## [error] Bash以代码'1'退出”。在docker构建中失败,并且导致Azure管道失败。