ถ้าเราลองเขียน Restfull API แล้วอยากลอง deploy เพื่อทดสอบแบบเร็ว GCP cloud run เป็นทางเลือกอีกทางหนึ่งที่จะทำให้ deploy ได้อย่างรวดเร็วและไม่ต้องจัดการ server เองและสามารถ deploy ได้โดยไม่กี่คำสั่งเท่านั้น

อันดับแรกให้มั่นใจก่อนว่าเราอยู่ GCP Project ที่เราต้องการ deploy แล้วนะโดยใช้คำสั่งนี้ที่ terminal

gcloud config list

gcloud config set project {PROJECT_ID}

เมื่อเรามั่นใจว่าอยู่ GCP Project ที่เราต้องการจะ deploy แล้วลงมือเขียน code กันเลยโดยจะลองเขียนด้วยภาษา Go

1. สร้าง directory helloworld แล้วเข้าไปใน helloworld

mkdir helloworld
cd helloworld

2. init go module ที่ project ของเราโดยใช้คำสั่ง

go mod init github.com/GoogleCloudPlatform/golang-samples/run/helloworld

3. สร้างไฟล์ main.go แล้วลองเขียน code api ง่ายๆแบบนี้


// Sample run-helloworld is a minimal Cloud Run service.
package main

import (
        "fmt"
        "log"
        "net/http"
        "os"
)

func main() {
        log.Print("starting server...")
        http.HandleFunc("/", handler)

        // Determine port for HTTP service.
        port := os.Getenv("PORT")
        if port == "" {
                port = "8080"
                log.Printf("defaulting to port %s", port)
        }

        // Start HTTP server.
        log.Printf("listening on port %s", port)
        if err := http.ListenAndServe(":"+port, nil); err != nil {
                log.Fatal(err)
        }
}

func handler(w http.ResponseWriter, r *http.Request) {
        name := os.Getenv("NAME")
        if name == "" {
                name = "World"
        }
        fmt.Fprintf(w, "Hello %s!\n", name)
}

4. เริ่มทำการ deploy โดยใช้คำสั่ง

gcloud run deploy

เมื่อมีการแจ้งให้เปิดใช้งาน API, ตอบ y เพื่อเปิดใช้งาน

เมื่อคุณถูกแจ้งให้ระบุตำแหน่งของ source code, กด Enter เพื่อใช้โฟลเดอร์ปัจจุบัน

เมื่อคุณถูกแจ้งให้ระบุชื่อของบริการ, กด Enter เพื่อยอมรับชื่อเริ่มต้น, เช่น helloworld

ถ้าคุณถูกแจ้งให้เปิดใช้งาน Artifact Registry API หรือให้อนุญาตในการสร้างคลัง Artifact Registry, ตอบด้วยการกด y

เมื่อคุณถูกแจ้งให้เลือกภูมิภาค: เลือกภูมิภาคตามที่คุณต้องการ, เช่น us-central1

คุณจะถูกแจ้งให้อนุญาตการเรียกใช้โดยไม่ระบุตัวตน: ตอบ y

จากนั้นรอสักครู่จนกระบวนการติดตั้งเสร็จสิ้น หลังจากนั้น, หน้าจอคอมมานด์ไลน์จะแสดง URL ของบริการ เมื่อการติดตั้งสำเร็จ

5. หลังจาก deploy เสร็จจากข้อ 4 จะได้ URL endpoint ของ code เรามาสามารถใช้เป็น endpoint ของ API ของเราได้เลย