前言 話說 Google 推行 App Engine 已經有好一陣子了, 就算後來 GCP 的光芒幾乎都聚焦在其他產品上如 Kubernetes Engine, 但直至今日還是有很多死忠的開發者喜歡使用 App Engine 這項服務, 對於不想花時間搞底層環境的人來說, 將服務部屬在這兒絕對是最佳的選擇 以下簡單的介紹如何在 Google App Engine(GAE) 上部屬Go程式 首先, 設定環境 需要在開發的環境裡安裝 glcoud 的 SDK 並且初始化某些設定 gcloud init 或是, 直接打開 CloudShell 直接在上面敲 gcloud 的指令也可以 (但最後部屬時需要把程式碼 clone 到 CloudShell 的機器裡) Step 1. 建立App.yaml 在工作目錄中建立 App.yaml 來描述部署的環境, 如下所示 在 App.yaml 裡面可以定義 Runtime, Service Name, 以及程式中會用到的 Environment Variable 等等 ex: runtime: go env: flex service: my-server env_variables: RUNMODE: stage automatic_scaling: min_num_instances: 1 max_num_instances: 1 cool_down_period_sec: 120 # default value cpu_utilization: target_utilization: 0.7 resources: cpu: 1 memory_gb: 5 disk_size_gb: 10 volumes: - name: ramdisk1 volume_type: tmpfs size_gb: 0.5 App.yaml 裡有一個欄位 env 可以用來指定即將部屬的環境 env: flex 這邊要注意的是 GAE 提供兩種不同的部屬環境 Standard 以及 Flexible 可以選擇 Standard V.S Flexible Environment ...