微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

根据测试夹具结果在Jenkins中退出docker-compose终端

如何解决根据测试夹具结果在Jenkins中退出docker-compose终端

在Jenkins中,我有一个“应用程序”容器,它具有应用程序的所有可执行文件和“ test_fixture”容器,该容器具有将在该应用程序上执行的所有end2end测试(在应用程序容器中)。在入口点“ test_fixture”将开始在应用程序上进行测试

docker-compose.yml

version: "3"
services:
  app:
    build: ./cd_app
    image: cd_app:latest
    env_file: $PWD/app-configurations/.env
    cap_add:
      - ALL
    links:
      - test_fixture
  test_fixture:
    image: docker-standard-all.bk-update.us/bk/pytest-bk:0.7.1
    entrypoint: /workspace/entrypoint.sh

詹金斯

stage('Test'){
      sh "docker-compose -p pr-${RELEASE_VERSION} up --build"
    }

Jenkins执行“ docker-compose”时,它有两个终端,一个用于“ app”容器,另一个用于“ test_fixture”容器。当py测试失败时,“ test_fixture”终端将关闭/自动终止,但“ app”容器终端仍然存在,因此stage('Test')将永远运行。

当pytest失败/成功时,我想正常退出所有终端并将失败/成功状态传递给stage('Test')。

我尝试了--abort-on-container-exit标志,但它看起来很黑。 阶段(“测试”){ sh“ docker-compose -p pr-$ {RELEASE_VERSION}上--abort-on-container-exit --build” }

您能建议一些优雅的退出吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。