• DevOps
  • devops工程每次maven打包的时候都去maven仓库下载依赖,导致发布很慢

平台上maven是一个容器,用完就销毁了,所以每次构建时候会新建,想确认一下如何修改能让maven仓库改为用本地PV上的目录,不至于每次都去下载

    jwangkun
    发布慢可能有多方面的原因:

    1,下载依赖慢

    DevOps 对 maven 进行了缓存,缓存存放在 .m2 目录,通过 docker volumes 的方式挂载。首次下载之后,第二次如果还是相同节点构建会有明显加速。建议预热缓存或者限定 node 访问。

    2,编译耗时

    这部分在平台侧可以给 pod 提供更多的资源优化,提高 limit 值,使用更好的机器。

    3,推拉镜像

    构建 node 与镜像仓库之间的网络也会影响到发布速度。

    至于你提到的使用固定的目录构建,也是可以的,但是会引入新的问题。
    如果不指定 pod,可以使用 jenkins master 进行构建,构建环境不会销毁。但是会影响并发,同时破坏了 master 的容器环境可复现性,重启之后非 /var/jenkins_home 的文件会重置。

      shaowenchen DevOps 对 maven 进行了缓存,缓存存放在 .m2 目录,这个发现每次都还是去下载,是不是缓存没有生效呢

        jwangkun

        请检查 MAVEN_OPTS 是否指向 /root/.m2,这个目录是以节点为维度进行的缓存。使用这个目录的包,是不会重新下载的

          jwangkun
          是的,settings 和项目是关联的。不用直接拷贝 demo 的 settings 到自己的项目。