如何在.gitlab-ci.yml中的docker容器中装入卷?
我正在使用如何在.gitlab-ci.yml中的docker容器中装入卷?,docker,gitlab-ci-runner,Docker,Gitlab Ci Runner,我正在使用.gitlab ci.yml和docker作为Android项目上的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 generati
.gitlab ci.yml
和docker作为Android项目上的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
我希望能够访问这些文件,但没有提到如何像docker run-v:/builds/org/…那样装载卷,我建议不要从主机装载CI卷。 如果确实需要,则必须相应地配置运行程序(
config.toml
)。
如果您使用的是shared
运行程序,您永远不知道特定构建将在哪个系统上执行
我认为更好的解决方案是将测试结果定义为
这样,测试结果可用于较旧的版本,而不仅仅是最新的版本
在下面,您可以找到我用于构建docker映像的runner的配置(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
在仔细阅读gitlab-ci.yml文档后,我意识到我走错了路。使用@mgansler建议的工件对我很有效。@Martin我使用gitlab 11.9.8在k8s上安装了gitlab runner,通过k8s集成UI。现在,在安装之后,我似乎无法修改runner的配置。我使用kubeadm设置我的k8s群集。我想将/var/run/docker.sock从主机装载到构建代码的容器中。关于如何使用工件访问gitlab管道执行期间生成的文件(即使管道失败)的示例: