Я получаю сообщение об ошибке при выполнении тестов на Gitlab CI с помощью команды:
./gradlew clean test
Я использую тестовые контейнеры для выполнения моих тестов: https://www.testcontainers.org/modules/docker_compose/
Вот код, который я использую для загрузки файла docker compose, который находится в src / test / resources.
@ClassRule
public static DockerComposeContainer container = new DockerComposeContainer(new File(BaseServiceTest.class.getClassLoader().getResource("docker-compose.yml").getFile()));
Работает нормально, когда я запускаю локально, покупаю при запуске ci на gitlab, я получаю следующую ошибку:
{"timestamp":"2019-06-17T18:47:44.903Z","level":"ERROR","thread":"Test worker","logger":"docker[docker/compose:1.8.0]","message":"Log output from the failed container:\n.IOError: [Errno 2] No such file or directory: '/builds/xxxx/xxxx/xxxx-xxxx/src/test/resources/docker-compose.yml'\n","context":"default"}
Ниже приведен мой файл gitlab-ci.yml:
include:
- project: 'xxxx/xxxx/sdlc'
file: '/sdlc.yml'
variables:
CONTAINER_NAME: xxxx-xxxx
test:
stage: test
image: registry.xxxx.com/xxxx-alpine-jdk8:v1_8_181
script:
- ls -la src/test/resources
- ./gradlew clean test -i
В моем скрипте у меня есть ls -la src/test/resources
, и я вижу файл docker-compose.yml
при запуске этого скрипта. Не уверен, почему он недоступен при запуске кода.