我正在运行gitlab (托管),并使用docker runner和构建CI的镜像maven3.5.4-jdk10。我正在尝试使用gitlab提供的helm charts加上Minio进行缓存,将此设置转移到Azure上的Kubernetes集群。一切正常,runner已注册,pods已部署,构建开始,
$ mvn --settings .m2/settings.xml --batch-mode --errors --show-version -X -T 1C dependency:tree去下载工件。现在,每次下载了x个文件后,构建停止,runner压缩缓存,并以“成功”结束。即使在启用了Maven debug的情况下,也没有一条消息表明有任何问题。
重复上述过程多次,由于缓存,越来越多的文件被下载,直到最终,构建能够达到编译阶段。将构建映像更改为maven 3.3.9时也会出现同样的问题,在重新构建集群后也会出现同样的问题。
有没有任何已知的原因,为什么mvn dependency:tree应该在没有任何迹象的情况下在正在做的事情中停止?
发布于 2018-10-13 01:12:40
从Kubernetes的角度来看,并不是这样。
然而,在Kubernetes中运行与在您的笔记本电脑上运行是不同的,因为您与其他pod和工作负载共享服务器资源。除非分享集群上运行的内容,否则很难判断,但可能是集群中没有任何资源,并且随着缓存大小的增加,maven需要更多的CPU、内存等。
您可以尝试为pods配置Resource and Limits,这样就可以保证在集群中运行maven的时间。您还可以尝试在开始任何新作业/构建之前清除缓存。
https://stackoverflow.com/questions/52781745
复制相似问题