• DevOps
  • devops 使用maven容器时,怎么将原来宿主机的本地maven仓库挂载进来

创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。
发帖前请点击 发表主题 右边的 预览(👀) 按钮,确保帖子格式正确。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

使用maven容器时,怎么将原来宿主机的本地maven仓库挂载进来,不然每次都需要重新下载依赖,效率很低

1 个月 后

fangzhong

如图,先在流水线页面 [运行] 流水线 ,然后在 Kubesphere-devops-system 命名空间下可以看到运行的 agent pod ,点击进入详情页,点击 [查看YAML] 可以看到 pod 详情,其中包含 Volumes 信息;

fangzhong 哦 如果是修改这个配置,应该修改配置字典 jenkins-casa-config,然后在重启 jenkins ;

配置都修改了,也重启了,但部署得时候还是每次去下载依赖

    fangzhong
    请排查下宿主机的目录是否正确挂载到 jenkins-agent pod 的 node 编译的依赖目录;如果是正确的,在确认下是否正确设置了 CI 节点;

    jenkins-casc-config的配置:

    ci节点:

    maven的环境是没有问题的,不会重复下载了,nodejs的还不行

    • none 回复了此帖

      fangzhong jenkins-casc-config里有两块yaml配置,一部分是jenkins.yaml,另一部分是jenkins-user.yaml,看你的位置应该是在jenkins.yaml的地方,自定义的agent需要修改jenkins-user.yaml部分,再重启jenkins服务后才会生效,您可以看下是不是修改的yaml的位置不对。

        fangzhong 这个配置看着没有问题,可以点击 [运行] 流水线,然后在对应容器组详情页,进入容器内部,然后跟本地一样排查 npm 缓存问题:

        1. 手动执行下 npm 构建命令,看下是否能够正常缓存;
        2. 看下 /root/.npm 目录下是否有下载依赖缓存;

        mave目前是可以的。
        但前端用的是pnmp ,有关pnmp的目录我也都配置了,每次构建时还是会重新下载
        构建命令:
        npm install pnmp -g
        pnmp install

          8 个月 后

          不光是这个,我想就手问下docker怎么缓存,或者说,怎么设定一个或者一组容器只负责构建镜像。举个最简单的例子,很多层的dockerfile,本地多次打的话,只有COPY以后的会重复执行,上面的直接用CACHED结果,而这里的每次都是不同的容器来执行,每次都是重头开始,太慢了

          CuiShi0407 nodejs agent 里默认已经配置了 npm 缓存:

          如果你的环境是自定义的 agent ,可以参考下面两步配置下:

          1. 参考文档 设置 CI 缓存节点
          1. 可以参考配置字典 jenkins-casc-config 里 nodejs volume 的配置自己的 npm 缓存;