變臉式應用 / H5應用發佈上線

H5應用發佈上線

上一章介紹了H5應用的編譯優化,生成了發佈目錄,配置好WEB服務器後,將發佈目錄上傳到服務器即可完成發佈。

爲了H5應用程序升級後客戶能及時更新,建議將H5應用的主html文件及邏輯頁面文件夾下html/js文件的緩存策略設置爲”no-cache”。
(在開發環境下,一般建議所有文件都設置爲不緩存。)

建議使用Apache或nginx作爲筋斗雲H5應用線上生產環境的WEB服務器。
項目下已有專爲這兩種服務器的配置,即爲Apache用的.htaccess文件,以及爲nginx準備的.ht.nginx文件。

[任務]

配置Web服務器,訪問H5應用,在Chrome瀏覽器的網絡監控中查看請求,要求:

  • H5應用的index.html文件,以及邏輯頁如page/home.html, page/home.js文件,HTTP響應中設置了”no-cache”策略。
    當再次刷新應用時,HTTP響應爲”304 Not Modified”(確保Chrome網絡監控頁面下的”Disable cache”選項未勾選)。
  • 其它js/css文件,HTTP響應中未設置”no-cache”策略,再次刷新H5應用時,不訪問服務器。

示例如下:

如果使用Apache服務器,應配置項目下允許.htaccess文件,比如

<Directory /var/www/html/myproject>
    AllowOverride All
</Directory>

如果使用nginx,可以把項目下的.ht.nginx文件包含到nginx的主配置文件中。注意一些路徑可能需要修改。

如果使用其它WEB服務器(如IIS),應手工作相應的配置。

此外,對所有html/css/js這些文本文檔都應設置gzip壓縮,注意圖片文件一般不設置gzip壓縮,因爲圖片有自己的壓縮算法。

自動化差量發佈

[任務]

編寫和運行項目下的build_web.sh文件做爲上線工具,運行它實現自動編譯和將新近修改的內容上線。

如果希望每次修改一些內容後,可以快速將差異部分上線,不必每次都上傳所有文件,可以使用筋斗雲自帶的上線工具。

筋斗雲框架支持WEB應用自動化發佈,並可差量更新。
目前差量更新依賴git工具,要求源目錄及編譯生成的發佈目錄均使用git管理,每次只上傳與線上版本差異的部分。
本章詳細介紹可參考官方文檔”webcc”中的”jdcloud-build”模塊。

自動化發佈支持ftp/git兩種方式,前者只需服務器提供ftp上傳帳號,後者需要服務器提供git-push權限。
本章介紹git方式,安全可靠且版本可任意回溯。ftp方式只需修改若干參數,可參考官方文檔。

我們的示例項目名爲myproject,已使用git管理。
先創建發佈版本庫(又稱online版本庫), 使用git管理,定名稱爲myproject-online,習慣上與目錄myproject放在同一父目錄下:

$ git init myproject-online

在線上服務器上設置ftp帳號或git帳號。使用git發佈時,一般配置好用ssh證書登錄,避免每次上線時輸入密碼。

將tool/git_init.sh上傳服務器,用它創建線上目錄:

$ git_init.sh myproject

編寫項目根目錄下的build_web.sh腳本:

#!/bin/sh

export OUT_DIR=../myproject-online
export GIT_PATH=www@myserver:myproject
tool/jdcloud-build.sh

在Windows平臺上,打開git shell運行build_web.sh即可上線。

發佈了65 篇原創文章 · 獲贊 16 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章