各位有什麼提高前端部署速度的經驗呢?
01-28
隨著項目越來越大,前端上線一次的構建時間也會增長。
完成一個需求之後,花幾分鐘上線還是可以接受的,但是如果遇到緊急的 bug,上線花的時間越長,損失也就越大。對於提高上線速度,我個人的想法主要有:1. 分析各項任務的花銷,以及文件的構成,有針對性的做一些優化;2. 進行增量式打包,只對每次上線時發生變化的文件(及與其有依賴關係的文件)打包。不知各位同學有什麼經驗教訓可以分享的嗎?
首先,遇到緊急的bug一時改不好,不要想著再解決,而應該是首先回退到上一個正常的版本,再在開發環境解決。或者對這個頁面做下線或者關閉入口功能。這部分當然也需要後端來配合,畢竟一些功能捆綁太深。做好緊急預案總比臨時一群人改來改去浪費時間要從容的多。
然後再說上線的問題。
打包做增量,本地做緩存,開發做watch,環境配debug,上線走版本管理,更新用分發,流程用腳本,減少人工干擾。
就這樣子…
一條最重要的經驗,將構建和部署區分開來。
我司前端發布現在是這樣的。構建與部署分離,構建可以選擇本機構建和雲端機構建兩種,針對靜態資源的部署有覆蓋式部署(覆蓋式其實是由構建工具負責緩存版本的控制)和增量式部署兩種。
部署階段又分為靜態資源CDN部署,和動態資源的部署,兩者一先一後。上線的關鍵步驟,實質是動態資源的部署這一步,而回滾操作也只需要反轉這一步即可,這一步只需要秒級別的時間就能完成。
另一條重要經驗。負責或者重大發布必須制定發布計劃,對異常場景要有處理預案,如果發生嚴重問題,那麼一定要先回滾。
至於題主說的性能分析和優化、增量打包,是一個思路,不過能提升的速度有限,而且可操作性也比較低。
可以試試我們做的這個,團隊用起來還是很順手的:wdfe/ideploy
推薦閱讀: