建立 Google App Engine 專案
建立 Google App Engine 專案之前,需要先建立一個 Project 在 Google Cloud Platform:
建立後才從 Google App Engine 建立一個應用程式,你可以選擇從 Console 建立,或是從這個畫面建立一個應用程式。
應用程式最主要需要選擇伺服器的位置,從以上畫面選擇 [Select a Language] 先選擇自己要部署的應用程式所用的語言,他就會詢問你主機位置,剩下的部分可以不需要在瀏覽器完成 (可以的話不要用 web shell )。
選擇完地點等待部署後就可以暫時離開瀏覽器了。
本地端專案部署流程
專案要部署上去,基本上步驟是:- 新建專案:
- gcloud 初始化
- 設定 app.yaml 部署描述檔案
- 部署上 gcloud
- 現有專案:
- 直接部署上 gcloud 檔案
gcloud init
指令執行後,會詢問專案、登入帳號密碼,只要跟隨詢問步驟走就可以了,直到選到專案為止。
然後,需要建立一個檔案叫做 app.yaml,檔案描述如下:
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
這個檔案將會描述給 Goolge App Engine ,詳情參數設定請參考:
https://cloud.google.com/appengine/docs/standard/go/config/appref
*如果在 app.yaml 寫 application, version 兩個參數,可以的話請記得拿掉,避免部署失敗。
接著,golang 程式不需要定義 func main 的進入點,所以檔案會長這個樣子:
package main
import (
"fmt"
"net/http"
)
func init() {
http.HandleFunc("/", index)
}
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello World.")
}
好了之後,在專案目錄下輸入:
gcloud app deploy app.yaml
這個時候專案就會開始部署了,如果發生:
ERROR: (gcloud.app.deploy) An error occurred while parsing file: [/xxxxx/xxxxx/app.yaml] 這樣的錯誤,記得檢查一下 yaml 是否寫對格式,或是檔案是否空白。
等到部署成功後,可以用這個指令打開瀏覽器檢查應用程式:
gcloud app browse
Reference:
[1] app.yaml 描述檔撰寫參考: https://cloud.google.com/appengine/docs/standard/go/config/appref
[2] 伺服器位置名稱: https://cloud.google.com/compute/docs/regions-zones/regions-zones?hl=en_GB&_ga=1.243667075.769435893.1493430841
[3] 範例: https://cloud.google.com/appengine/training/go-plus-appengine/hello-plus
[4] 部署失敗 app.yaml: https://stackoverflow.com/questions/43512630/gcloud-app-deploy-command-not-working
[5] sdk 下載: https://cloud.google.com/appengine/downloads
[6] golang 部署方式: https://cloud.google.com/appengine/docs/standard/go/getting-started/deploying-to-app-engine
[7] 官方 GAE 部署範例: https://github.com/GoogleCloudPlatform/nodejs-getting-started
沒有留言:
張貼留言