2

現在、Jenkinsを使用して本番Webサーバーにコードを展開しています。それは、関連するすべてのソースとSCPをサーバーに圧縮し、それをリモートで解凍してから、Apacheを再起動します(APCを使用しているので、PHPキャッシュがクリアされます)。AJAX/JS重生産サイトにコードをプッシュする方法

サイトはAJAX主導型であり、ユーザーがサイトとやりとりしているときにほとんどブラウザの更新が行われません。このタイプのコードプッシュを行うときに、ブラウザが更新しないと、フロントエンドコードの最新の変更を取得しないことがユーザーに懸念されます。だから私たちは夜遅くにこれを行い、ユーザーの大部分がサイト外にいることを確認します。

この問題を軽減する一般的な方法は何ですか?昼間にコードを展開する必要があり、ユーザーがサイトでアクティブである場合、これは持続可能ではありません。この展開プロセスのその他の改善点は?

ありがとうございます!

答えて

1

これは、アプリケーション/サイトと同じように展開プロセスの問題のようには聞こえません。

「Expires」/「Cache-Control」ヘッダーがすべて妥当な値に設定されていることを確認するためのWebサーバーの設定が最初にチェックされるため、1年間のキャッシュ時間を設定していませんあなたが毎週(あるいは毎日)変更しているかもしれないファイル。

アプリケーション内で次に実行できることは、JavaScriptにチェックを入れることです。各HTTPレスポンス(AJAXなど)は、バージョン番号を持つカスタムHTTPヘッダを返すことができます。アプリケーションを再デプロイする場合、アプリケーション/サーバーはそのフィールドに新しいバージョン番号を送信する必要があります。バージョン番号がセッションの途中で更新されたことをJavaScriptが検出した場合、ユーザーにメッセージを表示したり、強制的にページをリロードすることができます。

関連する問題