环境说明
- 使用了 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左右