(误报)使用gitlab-ci运行docker-compose:构建作业失败但管道成功

时间:2018-10-22 18:11:38

标签: maven docker gitlab gitlab-ci

我正试图让gitlab-ci运行我的docker-compose文件来构建集成环境,运行测试,然后成功或失败。

我的集成测试的dockerfile:

FROM maven:3.5.4-jdk-8
VOLUME /tmp
COPY / /tmp
WORKDIR /tmp
CMD mvn clean verify -P integration-test

Docker撰写文件:

services:
  integration:
    build:
      context: ./
      dockerfile: docker/integration/Dockerfile
    container_name: app_integration
    restart: always

gitlab-ci.yml:

integration_tests:
  stage: test
  only:
    - branches
  script:
    - docker-compose -f docker-compose.integration-test.yml up --exit-code-from=integration --force-recreate

控制台输出:

app_integration | [INFO] 
app_integration | [ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
app_integration | [INFO] 
app_integration | [INFO] 
app_integration | [INFO] --- maven-failsafe-plugin:2.22.1:verify (integration-tests) @ app ---
app_integration | [INFO] ------------------------------------------------------------------------
app_integration | [INFO] BUILD FAILURE
app_integration | [INFO] ------------------------------------------------------------------------
app_integration | [INFO] Total time: 01:09 min
app_integration | [INFO] Finished at: 2018-10-22T17:53:33Z
app_integration | [INFO] ------------------------------------------------------------------------
app_integration | [ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.22.1:verify (integration-tests) on project app: There are test failures.
app_integration | [ERROR] 
app_integration | [ERROR] Please refer to /tmp/target/failsafe-reports for the individual test results.
app_integration | [ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
app_integration | [ERROR] -> [Help 1]
app_integration | [ERROR] 
app_integration | [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
app_integration | [ERROR] Re-run Maven using the -X switch to enable full debug logging.
app_integration | [ERROR] 
app_integration | [ERROR] For more information about the errors and possible solutions, please read the following articles:
app_integration | [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
app_integration exited with code 1
Stopping app_integration ... 

Stopping app_integration ... done
Aborting on container exit...
Job succeeded

现在,我正在运行一个测试,该测试运行一个assert false测试,并且应该会失败。但是,我无法使管道失败,因为它是“应有的”。

1 个答案:

答案 0 :(得分:0)

问题出在restart: always

我删除了它,它开始按需工作。