2011-12-08 74 views
2

我們目前使用Jenkins將代碼部署到我們的生產Web服務器。它將所有相關的源代碼和SCP壓縮到服務器上,然後遠程解壓它,然後重新啓動apache(我們使用APC,這樣就清除了PHP緩存)。如何將代碼推送到AJAX/JS重型生產站點

該網站大量使用AJAX驅動,當用戶與網站進行交互時,很少有瀏覽器刷新。當進行這種類型的代碼推送時,如果瀏覽器不刷新,我擔心用戶沒有獲得對前端代碼的最新更改。因此,我們很晚纔會這樣做,以確保我們的大部分用戶都離開了該網站。

什麼是一些常見的技術來緩解這個問題?如果我們需要在白天部署代碼並且用戶在網站上活躍,這是不可持續的。可以對此部署過程進行其他任何改進?

謝謝!

回答

1

這聽起來不像應用程序/站點那樣是部署過程的問題。

首先要檢查的是Web服務器的配置,以確保「Expires」/「Cache-Control」標頭都設置爲合理值,以便您不將緩存時間設置爲1年您可能每週(甚至每天)都在更改的文件。

可以在應用程序內完成的下一件事是在JavaScript中包含一個檢查。每個HTTP響應(AJAX或其他)都可以返回帶有版本號的自定義HTTP標頭。如果應用程序重新部署,則應用程序/服務器必須在該字段中發送新的版本號。如果JavaScript檢測到版本號在會話期間已更新,它可以向用戶顯示消息和/或強制重新加載頁面。