我正在使用 docker-compose 服务运行我的 Go 测试。 当我的测试失败时,我想使容器或构建失败。 但是现在,当 Go 测试失败时, pr_validator_tests_1 exited with code 0容器显示pr_validator_tests_1 exited with code 0不正确。

tests_1        | FAIL   go-testing-framework/tests  0.029s
tests_1        | FAIL
pr_validator_tests_1 exited with code 0

我正在使用以下命令运行我的 docker-compose 文件: docker-compose up --abort-on-container-exit --exit-code-from test

这就是我运行测试套件的方式。

func TestIntegration(t *testing.T) {
    suite.Run(t, new(TestSuite))
}

测试断言:

if !s.Equal(expectedCode, response.StatusCode) {
        s.T().Error(message)
        return
    }

docker-compose.yml 文件

version: '3'

services:
  integration:
    build:
      context: ./
      dockerfile: Dockerfile
    healthcheck:
      test: ["CMD", "nc", "localhost", "3000"]
    environment:
      - some envies
    container_name: integration
    ports:
      - 3000:3000

  mockservice:
    image: mock:latest
    environment:
      - some envies
    ports:
      - 8801:8801

  tests:
    image: go-testing-framework:latest
    environment:
      - URL=http://integration:3000
      - and some envies
    links:
      - integration
    depends_on:
      - integration
      - mockservice

无论如何,是否可以在不使用 Jenkins 插件或使用 golang 代码的情况下使 Jenkins 构建失败?

#1楼 票数:0

我在 make 命令的末尾添加了||exit 1并添加了一个 shell 脚本来检索退出代码。

#!/bin/bash
make test
status=$?
if [[ $status != 0 ]]; then
  echo "exit code for test: " $status
  exit $status
fi

如果测试失败,此脚本将终止容器

  ask by SanjX translate from so

未解决问题?本站智能推荐:

1回复

如何使用Curl将文件从Jenkins发布到跨Docker网桥的Go服务器?

作为Jenkins自由式项目的一部分,我尝试执行以下Post Step shell 命令: 此请求针对以下简单的Go服务器: Jenkins和Go服务器都在使用以下Docker-compose文件创建的Docker容器中运行: 当我执行此作业时, Curl命令失败并返回以下结果: 可能是什么问题导
2回复

如何在使用DockerCompose的同时高效地重建go项目?

这可能是一个愚蠢的问题,但我是使用 Docker-compose 的新手。 到目前为止,我喜欢它......但我的构建时间很长。 我有一个具有多个依赖项的项目,每次进行更改时显然都需要重新构建源代码。 现在,我正在调用docker-compose build来重建容器,然后调用docker-comp
1回复

如果退出Docker容器容器,使JenkinsBuild失败

我有一份将应用程序部署到Docker容器中的工作,构建成功,Docker容器已启动。 假设10分钟后Docker容器退出(关闭),我该如何处理? 我认为保持工作正常运行不是一个好主意。 我想要从Docker到Jenkins的触发器。
1回复

Docker服务启动失败

重新启动虚拟机后,命令docker images命令显示错误: 看来 docker 服务没有正常工作。 我尝试在 Ubuntu VM (v 20.10) 上启动 docker 服务,docker 引擎版本为 20.10.5。 我使用systemctl status docker show 进行故障排
1回复

容器停止后,Docker组合使网络保持正常

我的CI / CD使用docker compose运行测试。 我使用--abort-on-container-exit选项,因此compose在测试容器完成后停止所有容器。 然而,似乎由compose创建的网络仍在运行。 这是一个问题,因为我们很快达到了Docker中的网络定义限制。
1回复

docker在容器上运行,但不在服务器上运行

该问题与以下内容完全相同: docker正在运行但无法访问服务器 2回答 我在CI和CD上创建了Jenkinsfile,Dockerfile,Dockerfile.test到CI和CD,在GitHub上构建了我的服务器API,我在Jenkins上构建了该构建,并且构建成功,并且
2回复

在Docker容器中构建项目并共享已安装的文件夹

我使用docker-compose构建容器,并在签出私有存储库的状态下,使用composer在容器内部构建项目。 我有以下结构 构建后,我希望构建项目会显示在已安装的文件夹中,但是我得到的是空文件夹,这是我的yml 这是docker文件 在docker-compose build
1回复

docker-compose在运行入口点后保持容器运行

我的docker-compose.yml 我的.docker / app / sh / entry-point.sh 我正在通过命令进行构建: docker-compose -f .docker/docker-compose-prod.yml up -d --build 所有容器