一尘不染

如何在.gitlab-ci.yml中的Docker容器中装载卷?

docker

我在.gitlab-ci.ymlandroid项目中使用docker作为GitLab
CI运行器。在测试运行结束时,gradlew将测试结果保存在build目录下的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/...


阅读 384

收藏
2020-06-17

共1个答案

一尘不染

我建议不要从主机为您的CI装入卷。如果确实需要,则必须相应地配置运行器(config.toml)。如果使用的是运行程序shared,则永远不会知道要在哪个系统上执行特定的构建。

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

这样,测试结果不仅适用于最新版本,而且适用于较早的版本。

在下面,您可以找到config.toml用于构建docker-
images的运行程序的配置()。您可以用/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
2020-06-17