nextjs项目构建发布速度优化

最近接触一个项目使用的nextjs,构建发布整个时间消耗为12min,或者更长。查看整个构建过程,发现还是有优化点的,这里mark下。

说明

CD流水线使用的腾讯Coding。

优化前logic

流水线拉取后直接走docker构建,dockerfile中有如下几步

  1. builder中间过程,npm install安装包
  2. next build,打包前端资源
  3. run流程,安装包,next启动项目

优化后

先说时间,平均为6min,目前最快为5min。

  1. CI流水线加载自定义镜像环境进行build,这里使用nodejs镜像
  2. 挂载/root/workspace/.next/cache和npm缓存
  3. 自定义镜像下进行打包,且选择next standalone模式
  4. docker build 构建镜像不需要多步骤,只CP next所有资源进目录,node server.js启动

说明下,优化后打包的镜像为300MB,优化前为2GB。

总结

尽可能的降低构建时间,从而提升交付速度。

相关文档