前幾天前端項目使用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無法打包的時候,可以使用上面的方法。