如何在.gitlab-ci.yml中的docker容器中安装卷?

时间:2016-08-17 19:00:43

标签: docker gitlab-ci-runner

我在Android项目中使用.gitlab-ci.yml和docker作为GitLab CI运行器。在测试运行结束时,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

我希望能够访问这些文件,但documentation没有提及如何使用docker run -v <path>:/builds/org/...安装卷。

1 个答案:

答案 0 :(得分:8)

我建议不要在主机上为您的CI安装卷。 如果你真的想要,你必须相应地配置跑步者(config.toml)。 如果您使用的是shared跑步者,您永远不会知道将在哪个系统上执行特定的构建。

我认为更好的解决方案是将测试结果定义为artifacts

这样,测试结果可用于旧版本,而不仅仅是最新版本。

下面你可以找到我用来构建docker-images的我的跑步者的配置(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