我正试图让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
测试,并且应该会失败。但是,我无法使管道失败,因为它是“应有的”。
答案 0 :(得分:0)
问题出在restart: always
我删除了它,它开始按需工作。