nextjs项目构建发布速度优化
最近接触一个项目使用的nextjs,构建发布整个时间消耗为12min,或者更长。查看整个构建过程,发现还是有优化点的,这里mark下。
说明
CD流水线使用的腾讯Coding。
优化前logic
流水线拉取后直接走docker构建,dockerfile中有如下几步
- builder中间过程,npm install安装包
- next build,打包前端资源
- run流程,安装包,next启动项目
优化后
先说时间,平均为6min,目前最快为5min。
- CI流水线加载自定义镜像环境进行build,这里使用nodejs镜像
- 挂载/root/workspace/.next/cache和npm缓存
- 自定义镜像下进行打包,且选择next standalone模式
- docker build 构建镜像不需要多步骤,只CP next所有资源进目录,node server.js启动
说明下,优化后打包的镜像为300MB,优化前为2GB。
总结
尽可能的降低构建时间,从而提升交付速度。