Как установить том в контейнер docker.gitlab-ci.в формате YML?

Я использую .gitlab-ci.yml и docker в качестве бегуна 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/....

1 ответов


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

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

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

ниже вы можете найти конфигурация (config.toml) моего бегуна я использую для создания докер-изображений. Вы можете заменить /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