2013年8月7日

Gradle as Minimum Web Server for Testing 超輕量型網頁測試專用伺服器

有些工具產生的靜態網站資料 .html/.js 需要搭配網頁伺服器才能測試,例如 Sencha Designer 製作的 Ext JS 或 Sencha Touch 專案,通常需要啟動 Apache、Tomcat、Nginx 或 Jetty 才方便以瀏覽器進行測試。

這篇提供的 Script 是利用 Gradle 內建的 Jetty Plugin 快速建立測試專用網站伺服器,由於 Gradle 是跨平台、Java 開發的工具,可以簡單利用 GVM 安裝,所以適合滿足測試用網站伺服器快速建立的需求。

以 Sencha Designer 建立的專案來說,假設先 publish 到某一資料夾。

/home/demo/project1_preview

資料夾可能包含以下檔案:

/home/demo/project1_preview/app.html
/home/demo/project1_preview/app.js

測試的需求是利用瀏覽器來存取 app.html,而非直接以 local 檔案方式開啟,此時就需要透過瀏覽器。

在發佈的資料夾下建立一個 build.gradle 設定檔。

/home/demo/project1_preview/build.gradle

編輯為以下設定內容。

apply plugin: 'jetty'                                                          
jettyRun.contextPath = ''                                                                                             jettyRun.webAppSourceDirectory = file('.')                                    
jettyRun.httpPort = 8000      


然後在 build.gradle 同一個目錄下執行指令:

gradle jettyRun

啟動後就會執行一個麻雀雖小五臟俱全的 Jetty 伺服器,可以讓瀏覽器直接對該資料夾的內容進行 HTTP 管道的存取。

可以利用瀏覽器打開「http://localhost:8000/」存取。

如此一來,就不需要再為測試後即丟的專案,另外設定諸如 Apache 之類的 Web Server 囉!

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!