App Engine にサンプルアプリをデプロイ

gcloud コマンドを使用して App Engine にサンプルアプリをデプロイする

  • プロジェクトの作成
    まず、新しいプロジェクトを作成するか、既存のプロジェクトを選択する

  • Cloud Shell を使用
    コンソールの右上にあるナビゲーションバーの「Cloud Shell をアクティブにする」 ボタンをクリックして、Cloud Shell を表示する。

- サンプルコードのクローンを作成  

以下、コマンドを実行する  
$ git clone https://github.com/GoogleCloudPlatform/golang-samples  
Cloning into 'golang-samples'...
remote: Enumerating objects: 70, done.
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (65/65), done.
remote: Total 8670 (delta 26), reused 17 (delta 5), pack-reused 8600
Receiving objects: 100% (8670/8670), 30.76 MiB | 10.01 MiB/s, done.
Resolving deltas: 100% (4275/4275), done.

プロジェクトのリポジトリから Cloud Shell にサンプルコードのクローンが作成される

以下、コマンドを実行する  
$ cd golang-samples/appengine/go11x/helloworld  
  • デプロイを構成
以下、コマンドを実行する  
$ cat helloworld.go
func main() {
        http.HandleFunc("/", indexHandler)

        // [START setting_port]
        port := os.Getenv("PORT")
        if port == "" {
                port = "8080"
                log.Printf("Defaulting to port %s", port)
        }

        log.Printf("Listening on port %s", port)
        log.Fatal(http.ListenAndServe(fmt.Sprintf(":%s", port), nil))
        // [END setting_port]
}
func indexHandler(w http.ResponseWriter, r *http.Request) {
        if r.URL.Path != "/" {
                http.NotFound(w, r)
                return
        }
        fmt.Fprint(w, "Hello, World!")
}

アプリケーション コードを表示する  

- 構成を確認する
App Engine は YAML ファイルを使用してデプロイの構成を指定する  

以下のコマンドを実行する
$ cat app.yaml
runtime: go112 # replace with go111 for Go 1.11
  • アプリをテストする
以下コマンドを実行する
$go run .

Cloud Shell ペインの上部にある「ウェブでプレビュー」ボタンをクリックし、[プレビューのポート: 8080] を
選択して、アプリにアクセスします。  
  • App Engine にデプロイする
以下コマンドを実行する  
$ gcloud app create  
You are creating an app for project

- Cloud Shell を使ってデプロイする

以下コマンドを実行する 
$ gcloud app deploy
Services to deploy: