通过 docker jenkins 安装前端依赖速度慢

436 阅读2分钟

环境说明

  • 使用了 docker
  • 是在 docker 中运行的 jenkins
  • 通过 jenkins 安装的前端依赖包
  • pnpm已配置国内镜像

其他限制

  • 使用的是个人电脑(win11, 2.59 GHz, 逻辑处理器12个, 内存16G, 系统占用内存4.5G左右)
  • 初始限制了 WSL2 的资源占用: 内存2G, cpu 2核心, swap分区 2G
  • 运行了2个容器: gitea, jenkins
  • vue项目使用pnpm安装依赖

未解除限制前

  • 通过jenkins安装前端依赖,以及打包,需要12分钟

放开部分限制后

限制条件改为:

  • 初始限制了 WSL2 的内存占用: 4G, 4核心, swap 2G
  • 仅启动jenkins容器

效果

  • 直接通过docker容器(不使用jenkins)安装依赖: 2分20秒左右
  • 通过jenkins安装依赖: 4 分钟左右
  • 以上两步时,都全程在关注容器的资源使用情况docker stats, 并未出现高内存和高CPU占用
  • 因为pnpm的特点是,会优先使用本地已缓存的包,所以,第二次安装依赖,全都是走本地,但依然是4分钟左右

注意,这次只是安装依赖,并未执行打包

疑问

什么样的电脑配置,才能玩的动docker自动部署? 走网络和走本地pnpm install用时差距不太明显

什么样的电脑配置,才能玩的动docker自动部署? 走网络和走本地pnpm install用时差距不太明显

什么样的电脑配置,才能玩的动docker自动部署? 走网络和走本地pnpm install用时差距不太明显

docker 对于中小型项目好像完全没有意义。对于个人电脑好像也完全没意义。甚至是个负担。

docker把自己比喻成货轮,把容器比喻成集装箱。凸显的优势是,一个集装箱爆了,其他集装箱的东西,基本不会受影响。

但对于中小型项目或个人电脑而言,本身硬件配置就那样(当然我也不肯定大型项目会有多强的CPU【内存问题,倒是容易解决】),就像一艘小船,把集装箱丢到小船上,还没来的及装货呢,小船就满负载了。(笑哭,笑哭,笑哭)

也不算完全没有收获

收获了1个疑问,但也测试了一个以前没注意的地方,那就是以前都是构建之前,直接删除jenkins工作空间的所有内容,现在测试了不删除的情况,当不删除内容时(实际主要是不删除node_modules), pnpm install的时间大概10左右