Как смонтировать том в док-контейнере в .gitlab-ci.yml?

Я использую .gitlab-ci.yml и докер в качестве средства запуска GitLab CI в проекте Android. В конце тестового прогона gradlew сохраняет результаты теста в xml и html в каталоге сборки:

Finished generating test XML results (0.001 secs) into: /builds/org/project/sdk/build/test-results/release
 Generating HTML test report...
Finished generating test html results (0.002 secs) into: /builds/org/project/sdk/build/reports/tests/release

Я хотел бы иметь доступ к этим файлам, но документация не позволяет не говоря уже о том, как смонтировать том, как с docker run -v <path>:/builds/org/....


person Travis Holton    schedule 17.08.2016    source источник


Ответы (1)


Я бы посоветовал не монтировать тома с хоста для вашего CI. Если вы действительно этого хотите, вы должны соответствующим образом настроить раннер (config.toml). Если вы используете shared бегунов, вы никогда не знаете, на какой системе будет выполняться конкретная сборка.

Я думаю, что лучшим решением было бы определить результаты теста как артефакты.

Таким образом, результаты тестирования доступны для более старых сборок, а не только для последней сборки.

Ниже вы можете найти конфигурацию (config.toml) моего бегуна, который я использую для создания docker-образов. Вы можете заменить /var/run/docker.sock каталогом, в который вы хотите, чтобы ваши результаты сборки попали.

[[runners]]
  name = "Docker"
  url = "https://mygitlab/ci"
  token = "mytoken"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "docker:latest"
    privileged = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
  [runners.cache]
    Insecure = false
person Martin    schedule 19.08.2016