2013-04-24

[Google App Engine] 建置與部署教學


Google App Engine(以下簡稱GAE)簡介
想建置自己的網站系統卻苦無賜服器跟頻寬嗎?GAE提供一個 java/python framework 的 run time environment,於 google 端配置有container,只要確保你的開發程式符合container規範及配置檔案即可即時運行於internet上。

難易度
適合有使用過 Eclipse + Java + Jsp + Servlet 等技術,建構過網頁系統人員。

Step 1. 建置開發環境
厲害一點的人其實不需要IDE就可以做事情,但工欲善其事,必先利其器,時間就是金錢,個人還是搭配一套坊間最知名的Eclipse作為開發工具。
個人整體作業環境是Windows 7 64bits + Eclipse Classic 4.2.2 (JUNO) + jdk1.6.0_43,細節怎麼安裝不贅述,重點是GAE。


Step 2. 安裝GAE套件
  • 開啟Eclipse,點選 Help -> Install New Software
  • 於 Available Software 點選 Add新增site: http://dl.google.com/eclipse/plugin/4.2,JUNO版本對應為4.2,其他版本需參考google官方網站。
  • Tip:不同版本Eclipse需不同的plugin版本套件,如果本站介紹4.2的版本不適用於你的Eclipse,可自行修改為3.x~4.x,只要Eclipse有認到就沒問題。
  • 所謂認到就是IDE的對話框panel可以看到讓你Select的Google套件如下圖,這裡我們先不用管Android,裝GAE相關即可。
  • 安裝過程略。


Step 3. Hello World
廢話不多說,先來支Hello World,後續再講一些更深入的Datastore等~
  • 當Step 2. GAE套件安裝完畢,重新啟動,用Eclipse建立Project。
  • File -> New -> Web Application Project,然後填入Project name,隨意,但命名規則來講我一般都喜歡第一個字母大寫。至於package,個人喜歡根據這個app的應用範圍作宣告,例如說:aho.gae.tool。再來把底下的Google Web Toolkit勾選拿掉,暫時不會用到。
  • 點選Finish,開始建置專案。
  • 建完基本上Hello World的程式就完成了,是的,現在的IDE做的真的很貼心(OS: 現在的學生真的好幸福啊~遙想當年用記事本寫第一個作業C跟Java的年代...)。
  • 建完後大概就長這樣,熟悉Web應該都看得懂這些檔案跟目錄在幹嘛。
Step 4. 申請GAE帳號與建置App
  • 到Google註冊帳號,開啟GAE服務
  • 創建GAE專案。

  • 一個人預設最多可以開十個專案,遵守命名規則即可,如下圖所示:
  • 每個app會有自己的dashboard方便自主管理。




Step 5. Deploy your own app
  • 回到Eclipse,將要部署的專案設定Google部署對應的App,設定Id畫面如下。

  • 右鍵點選要Deploy的專案 -> Google -> Deploy to Google

  • 開始部署

  • 部署中Console訊息

Step 6. 上線測試
  • 於瀏覽器輸入http://{project-id}.appspot.com即可看到畫面如下

結語:

  • OK,到此為止簡易操作大概就這樣,但過程中不免會遇到許多咩咩角角,或是你要問這套系統能不能在 Linux 上開發,答案是可以,個人試過了,都放在後面繼續講。
  • 現在的 CentOS 6.3 做的很不錯,用起來不會像5.x時還常常有bug,加上 Macintosh 跟 Android 的侵襲,難怪 MS 主力越來越不放在 Windows 上面。

Trouble Shooting 1. Proxy 設定
在某些網路環境必須設定proxy,方法有二
  1. 設定Eclipse全域proxy:Windows -> Preference -> General -> Network connection,即可設定,記得設完後要改成Manual -> Apply -> OK
  2. 右鍵點選專案 -> Run configuration -> Arguments -> VM arguments 添加  -Dhttps.proxyHost={proxy_ip} -Dhttps.proxyPort={proxy_port}

Trouble Shooting 2. 使用Linux
  • 個人作業環境是Centos6.3 64 bits 運行於VMWare Workstation + Eclipse,沒問題!
  • 如果Eclipse在連結Google帳號遲遲連不上,雖然程式都寫好了,本機端也能運行,但要發佈到GAE需要認證,出現 Deploying to Google App Engine requires authentication.Cannot connect to destination 訊息,如下畫面。解法:個人踹了很久,什麼方法你能想到的我都試過了,除了燒香拜佛之外。原來是網路問題,嘗試換換網路環境,例如換上個人的3G或行動網卡吧,保證一路暢通。

  • 使用command ./appcfg.sh出現permission denied,解法:chmod 775

Trouble Shooting 3. Eclipse抓不到GAE Plugin
不同版本Eclipse需不同的plugin版本套件,如果本站介紹4.2的版本不適用於你的Eclipse,可自行修改為3.x~4.x,只要Eclipse有認到就沒問題。


版權聲明
原創,歡迎轉載,請註明出處


沒有留言:

張貼留言