简体   繁体   中英

(False Positive) Running docker-compose with gitlab-ci: Build job fails but pipeline succeeds

I am trying to get gitlab-ci to run my docker-compose file to build the integration environment, run the tests, and then either success or fail.

The dockerfile for my integration tests:

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

Docker compose file:

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

Console output:

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

Right now, I'm running a single test which runs an assert false test, and should fail. However, I cannot get the pipeline to fail as it is "supposed to."

The problem was the restart: always

I removed this, and it started working as desired.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM