App Engine 標準環境中的 Go 1.9 快速入門導覽課程

本快速入門導覽課程說明如何在 App Engine 上部署範例應用程式。如要瞭解如何編寫 App Engine 適用的應用程式程式碼,請參閱建構應用程式一文。

費用

進行本指南說明的動作並不會產生任何費用,而且單獨執行這個範例應用程式也不會超過您的免費配額

事前準備

在進行本快速入門導覽課程中的執行及部署作業前,請先安裝 Cloud SDK,並設定 App Engine 專用的 GCP 專案:

  1. 下載並安裝 Cloud SDK:

    下載 SDK

    注意:如果您已安裝 Cloud SDK,請執行下列指令進行更新:

    gcloud components update
    
  2. 建立新專案:

    gcloud projects create [YOUR_PROJECT_ID] --set-as-default
    

    請確認專案已成功建立:

    gcloud projects describe [YOUR_PROJECT_ID]
    

    畫面上會顯示專案資訊,請參考以下的範例:

    createTime: year-month-hour
    lifecycleState: ACTIVE
    name: project-name
    parent:
    id: '433637338589'
    type: organization
    projectId: project-name-id
    projectNumber: 499227785679
    
  3. 使用您的專案將 App Engine 應用程式初始化,然後選擇地區:

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    收到系統提示時,選取 App Engine 應用程式的存放地區

  4. 安裝下列必要項目:

    • 執行下列指令以安裝 gcloud 元件,其中包括 Go 1.9 適用的 App Engine 擴充功能:

      gcloud components install app-engine-go
      

App Engine 位置

App Engine 具有「地區性」,這表示執行應用程式的基礎架構位於特定地區,且由 Google 代管,可為該地區內的所有區域提供備援功能。

選擇應用程式的執行地區時,請將您在延遲時間、可用性和耐用性方面的要求,做為主要考量。一般而言,您可以選擇距離您應用程式使用者最近的地區,但也應該考慮應用程式使用的其他 GCP 產品和服務所處的位置。如果跨多個位置使用服務,可能會影響應用程式的延遲時間和定價

App Engine 可在下列地區使用:

  • northamerica-northeast1 (蒙特婁)
  • us-central (愛荷華州)
  • us-west2 (洛杉磯)
  • us-east1 (南卡羅來納州)
  • us-east4 (北維吉尼亞州)
  • southamerica-east1 (聖保羅)
  • europe-west (比利時)
  • europe-west2 (倫敦)
  • europe-west3 (法蘭克福)
  • europe-west6 (蘇黎世)
  • asia-northeast1 (東京)
  • asia-northeast2 (大阪)
  • asia-east2 (香港)
  • asia-south1 (孟買)
  • australia-southeast1 (雪梨)

應用程式的地區設定完成後即無法更改。

如果您已建立 App Engine 應用程式,即可透過執行 gcloud app describe 指令,或開啟 GCP Console 中的 App Engine「Dashboard」(資訊主頁) 來查看地區。App Engine 應用程式的地區列於 http://[YOUR_PROJECT_ID].appspot.com 下方。

本快速入門導覽課程假設您已熟悉 Go 程式設計語言,並且已在系統上安裝 Go

下載 Hello World 應用程式

我們建立了 Go 適用的簡易 Hello World 應用程式,讓您快速瞭解部署應用程式至 Google Cloud Platform 的流程。

  1. 將 Hello World 範例應用程式存放區及其依附元件下載到本機電腦的 helloworld 目錄中:

    go get -u -d github.com/GoogleCloudPlatform/golang-samples/appengine/helloworld/...
    
  2. 變更為 helloworld 目錄:

    cd $GOPATH/src/github.com/GoogleCloudPlatform/golang-samples/appengine/helloworld
    

您也可以下載 zip 格式的範例檔案

測試應用程式

使用 SDK 隨附的本機開發伺服器測試應用程式。

  1. 在應用程式 app.yaml 設定檔所在的 helloworld 目錄中,執行 dev_appserver.py 指令以編譯應用程式,然後啟動本機開發伺服器:

      dev_appserver.py app.yaml
    

    本機開發伺服器現已開始執行並聽取通訊埠 8080 的要求。發生問題?

  2. 使用網路瀏覽器造訪 http://localhost:8080/,以查看運作中的應用程式。

執行本機開發伺服器 (dev_appserver.py)

如要執行本機開發伺服器,您可以指定完整的目錄路徑來執行 dev_appserver.py,或是將 dev_appserver.py 新增至 PATH 環境變數:

  • 如果您安裝的是原始 App Engine SDK,該工具位於以下路徑:

    [PATH_TO_APP_ENGINE_SDK]/dev_appserver.py
    
  • 如果您安裝的是 Google Cloud SDK,該工具位於以下路徑:

    [PATH_TO_CLOUD_SDK]/google-cloud-sdk/bin/dev_appserver.py
    

    提示:如要將 Google Cloud SDK 工具新增至您的 PATH 環境變數,並在殼層中啟用 command-completion,您可以執行以下指令:

    [PATH_TO_CLOUD_SDK]/google-cloud-sdk/install.sh
    

如要進一步瞭解如何執行本機開發伺服器 (包括如何變更通訊埠編號),請參閱本機開發伺服器參考資料。

進行變更

本機開發伺服器會注意專案檔案的異動。在您更新原始碼時,系統會重新編譯並啟動您的應用程式。

  1. 立即嘗試:讓本機開發伺服器維持執行的狀態,然後試著編輯 hello.go 檔案,將 Hello, world! 改成其他內容。
  2. 重新載入 http://localhost:8080/,查看您變更的內容。

部署應用程式

如要將應用程式部署至 App Engine,請在 app.yaml 檔案所在的應用程式根目錄中執行以下指令:

gcloud app deploy

瞭解選用標記

常見的 gcloud 指令標記

  • 加上 --version 標記以指定專門用來辨識您應用程式版本的 ID;如未加入,將由系統自動產生。例如:--version [YOUR_VERSION_ID]
  • 加上 --project 標記以指定替代 GCP 專案 ID,而不使用您在 gcloud 工具中初始化為預設值的 ID。例如:--project [YOUR_PROJECT_ID]

示例:

gcloud app deploy --version pre-prod-5 --project my-sample-app

如要進一步瞭解如何從指令列部署應用程式,請參閱部署 Go 1.9 應用程式一文。如需指令標記的完整清單,請參閱 gcloud app deploy 參考資料。

查看您的應用程式

如要啟動瀏覽器並在 http://[YOUR_PROJECT_ID].appspot.com 查看應用程式,請執行以下指令:

gcloud app browse

恭喜!

您已完成本快速入門導覽課程。

請參閱下列各節,瞭解清除作業的資訊,並取得相關後續步驟的連結。

清除所用資源

如果已啟用專案的計費功能,您可以刪除 GCP 專案,這樣系統就會停止對該專案使用的所有資源收取費用。

  1. 前往 GCP 主控台的「Projects」(專案) 頁面。

    前往「Projects」(專案) 頁面

  2. 在專案清單中,找到您要刪除的專案並按一下「刪除」圖示 delete
  3. 在對話方塊中輸入專案 ID,按一下 [Shut down] (關閉) 即可刪除專案。

後續步驟

瞭解整個平台

現在您已瞭解如何開發及部署 App Engine 應用程式,接著可進一步瞭解 Google Cloud Platform 的其他部分。您可以建立使用更多 Cloud 平台部分 (而不只是 App Engine) 的應用程式;如需建立這類應用程式的逐步操作說明,請參閱「建構應用程式」指南。這份指南以您在這個快速入門導覽課程中學到的內容為基礎,教您如何部署簡易網誌應用程式,使用者可透過該應用程式上傳及儲存貼文。

進一步瞭解 App Engine 標準環境

以下是一些可協助您進一步瞭解 App Engine 的主題:

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Go 適用的 App Engine 標準環境