我使用标准 Helm chart在我的 Kubernetes 集群中部署了 GoCD ,它将其配置为使用Kubernetes 弹性代理插件并提供一个示例弹性配置文件,该配置文件使用 dockergocd-agent-docker-dind
映像来提供 docker-in-docker 功能。
我想做的是让我的第一阶段在 repo 中构建 Dockerfile,然后让另一个阶段在先前构建的 docker 映像中执行单元测试并解析 JUnit XML 测试结果输出。我设法让构建和测试执行工作,但我在提取测试结果文件之后遇到了麻烦。
我在弹性代理的图像中运行如下 shell 命令:
docker run -v "/test-results:/test-results" \
test-image:v${GO_PIPELINE_LABEL} \
--junit-xml /test-results/results.xml
但运行后目录为空,表明在 docker-in-docker 情况下挂载卷存在问题。
以前有没有人尝试过完成类似的事情,或者您有任何解决方法的想法吗?