Py学习  »  Python

在Docker内部运行python测试,并在主机外部获取退出代码

Raheel Khan • 6 年前 • 737 次点击  

我有一个Docker撰写文件

version: "2"
services:
    abc_python_test:
        build: "python"
        container_name: "abc-python-test"
        volumes:
            - "../:/abc/"
        working_dir: "/abc"
        command: "sh -c 'python3 -m unittest tests/calculator.py'"

我有一个以下的makefile

test:
    cp config/config-$(env).cfg config/config.cfg
    docker-compose -f environment/test.yml up --build 

我运行这个 Makefile 在我们的CI中的一个构建步骤中。

问题是,测试运行失败, python3 进程获取 exit code 1 . 然而,一旦 蟒蛇3 进程完成容器放下。但我的主机显示 status code 0 . 这会导致我的构建通过,即使测试失败了。

我怎么转发这个 蟒蛇3 退出代码到我的主进程,以便它知道测试失败了。

谢谢

附言:我们有老的Docker撰写版本,不随 --exit-code-from 旗帜

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38614
文章 [ 1 ]  |  最新文章 6 年前
atline
Reply   •   1 楼
atline    7 年前

你可以用 docker wait abc-python-test ,这可以获取容器的返回代码,如果您确定容器总是在运行后退出,无论测试通过或失败。

细节参考 offical guide .