前几天前端项目使用Jenkins打包总是会报内存溢出的错误(FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory),试了很多解决方法都没办法正常打包,只能自己在本地手动打包,生成镜像后更新前端环境了,具体操作如下:
1️⃣在自己本地的项目中使用npm run build,将本地代码打包成dist文件;
2️⃣使用xftp和xshell连接到服务器,其中xftp是图形界面,我们可以很直观的看到我们的项目打包生成的dist文件需要保存到的目录,我的项目打包成的dist存放的路径是
/home/jenkins_node/workspace/test-cloud/docker
我们把dist文件直接传送拷贝到这个路径下即可;
3️⃣然后使用xshell连接到服务器,同样的我们先找到刚刚dist存放的路径
cd /home/jenkins_node/workspace/test-cloud/docker
在这个路径下,我们生成镜像文件(记得修改每次生成的镜像的版本号,比如下面的版本号是20)
docker build -t wcsrm/google-front-test:20 .
docker tag wcsrm/google-front-test:20 garbor.google.com.cm/wcsrm/google-front-test:20
4️⃣登录镜像仓库
docker login - u alauda -p alauda harbor.google.com.cn
5️⃣将打包好的dist推送到镜像仓库
docker push harbor.google.com.cn/wcsrm/google-front-test:20
6️⃣完成以上的操作后,将rancher上的版本号更新到最新的,比如我这里是20。
完成以上步骤,我们的前端代码手动打包更新就完成了,我们做的事和Jenkins做的事是一样的,在Jenkins无法打包的时候,可以使用上面的方法。