Rah*_*eel 6 python teamcity continuous-integration docker docker-compose
我有这个 docker compose 文件
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'"
Run Code Online (Sandbox Code Playgroud)
我有以下 Makefile
test:
cp config/config-$(env).cfg config/config.cfg
docker-compose -f environment/test.yml up --build
Run Code Online (Sandbox Code Playgroud)
Makefile我在 CI 中的构建步骤之一中运行它。
问题是,测试运行失败,python3进程得到exit code 1. 然而,一旦该python3过程完成,容器就会下降。但我的主机显示status code 0. 即使测试失败,这也会导致我的构建通过。
如何将此python3退出代码转发到我的主进程,以便它知道测试失败。
谢谢
PS:我们有旧的 docker compose 版本,没有附带该--exit-code-from标志
在后台运行容器:
docker run -dit abc-python-test somecommand
Run Code Online (Sandbox Code Playgroud)
然后您可以使用
docker wait abc-python-test
Run Code Online (Sandbox Code Playgroud)
如果您确定容器在运行后总是退出,无论测试通过或失败,这都可以获取容器的返回码。
详细参考官方指南。
| 归档时间: |
|
| 查看次数: |
3935 次 |
| 最近记录: |