场景
项目存在多个前端工程时,可能会出现使用多个node.js版本,那么在CI/CD环境下,则需要考虑如何简单、快速的打包前端工程
思路
docker run --name node14.15.4 --rm
-v /xxx/yyy/:/usr/src/app -i node:14.15.4
sh -c "npm install -g cnpm@7.1.1 --registry=https://registry.npm.taobao.org && cd /usr/src/app && cnpm install && cnpm run build"
--rm表示容器运行完成后,自动删除。
-v /xxx/yyy/:/usr/src/app,其中/xxx/yyy目录下存放的是前端代码,将该目录关联到容器内部的/usr/src/app目录。
-i表示交互式运行容器。
sh -c "npm install -g cnpm@7.1.1 --registry=https://registry.npm.taobao.org && cd /usr/src/app && cnpm install && cnpm run build",表示在容器内部执行双引号里的脚本,即先安装cnpm提升包下载速度,然后切换到/usr/src/app目录,进行前端包下载安装,最后,执行编译打包。通过该脚本执行后,在宿主机的/xxx/yyy/目录下,将会出现dist目录,表示成功打包