2016-08-17 4 views
3

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

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 

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

ответ

6

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

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

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

Ниже вы можете найти конфигурацию (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 
+0

я понял, после того, как немного более внимательно, что я был на неправильном пути чтения документации gitlab-ci.yml. Использование _artifacts_, как было предложено @mgansler, сработало для меня. –

Смежные вопросы