ทำให้สภาพแวดล้อมหลายอย่างใช้งานได้จากฐานของโค้ด

เป็นเรื่องปกติที่จะมีการทำให้สภาพแวดล้อมหลายอย่างใช้งานได้จากโค้ดเบสเดียวกัน โดยแต่ละสภาพแวดล้อมมีการกำหนดค่าที่แตกต่างกันเล็กน้อย เช่น คุณอาจต้องการกำหนด CPU และ RAM น้อยลงสำหรับสภาพแวดล้อมการทดลองใช้ หรือตรวจสอบว่าสภาพแวดล้อมที่ใช้งานจริงคงอินสแตนซ์ที่ใช้งานอยู่อย่างน้อย 1 รายการและพร้อมแสดงคำขออยู่เสมอ

ดูข้อมูลเพิ่มเติมเกี่ยวกับสภาพแวดล้อมได้ที่ภาพรวมของสภาพแวดล้อมและแนวทางปฏิบัติแนะนำทั่วไปในการตั้งค่าโปรเจ็กต์ Firebase

สิ่งที่ต้องดำเนินการก่อน

ขั้นตอนที่ 0: ตั้งค่าสาขา Git เวอร์ชันที่ใช้งานจริง

หากต้องการทำให้สภาพแวดล้อมที่ใช้งานจริงจาก Branch ของ main ใช้งานได้ ให้ข้ามไปยังขั้นตอนถัดไป ในกรณีที่ต้องการทำให้เวอร์ชันที่ใช้งานจริงใช้งานได้จาก Branch อื่น เช่น production คุณต้องสร้างแท็กดังกล่าวบน GitHub ก่อน

หากต้องการสร้าง Branch ที่ใช้งานจริงด้วย GitHub UI ให้ดูการสร้างและการลบ Branch ภายในที่เก็บของคุณ

วิธีสร้าง Branch ที่ใช้งานจริงในเครื่องมีดังนี้

$ git checkout -b production
$ git push origin production:production

ขั้นตอนที่ 1: กำหนดค่า apphosting.yaml เวอร์ชันที่ใช้งานจริง

สมมติว่าคุณต้องการตรวจสอบว่าเวอร์ชันที่ใช้งานจริงมีเครื่องที่ทำงานได้อย่างน้อย 1 เครื่องเสมอและมีตัวแปรสภาพแวดล้อมเฉพาะบางรายการ คุณจะต้องกำหนดค่าโดยการสร้างไฟล์ apphosting.yaml ที่รูทของโปรเจ็กต์โดยใช้คำสั่งต่อไปนี้

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 1

env:
  - variable: STORAGE_BUCKET
    value: <production Cloud Storage bucket name>

โปรดดูรายการการตั้งค่าที่รองรับทั้งหมดที่หัวข้อกำหนดค่าโฮสติ้งแอป

หลังจากแก้ไข apphosting.yaml ให้พุชไปยังที่เก็บ GitHub:

$ git add apphosting.yaml
$ git commit -m "Added production App Hosting backend configuration."
$ git push origin

ขั้นตอนที่ 2: ทำให้ Codebase ใช้งานได้เป็นเวอร์ชันที่ใช้งานจริง

เมื่อกำหนดค่าสาขา Git เวอร์ชันที่ใช้งานจริงแล้ว คุณจะสร้างแบ็กเอนด์ App Hosting เวอร์ชันที่ใช้งานจริงใหม่ได้ ดูวิธีการโดยละเอียดได้ที่เริ่มต้นใช้งานโฮสติ้งแอป

หากต้องการสร้างแบ็กเอนด์ใหม่ด้วยคอนโซล Firebase ให้ไปที่ https://console.firebase.google.com/project/_/apphosting เพื่อเริ่มต้น

หากต้องการสร้างภายในเครื่อง คุณต้องติดตั้ง Firebase CLI ก่อน จากนั้นจึงเรียกใช้

firebase apphosting:backends:create --project <replace with your PRODUCTION project ID>

เมื่อคำสั่งนี้สำเร็จ แบ็กเอนด์เวอร์ชันที่ใช้งานจริงควรใช้งานได้ และ App Hosting จะสร้างสัญญาผูกมัดใหม่ไปยัง Branch เวอร์ชันที่ใช้งานจริงโดยอัตโนมัติ

ขั้นตอนที่ 3: ตั้งค่าสาขา Git สำหรับการทดลองใช้

ทำตามขั้นตอนเดียวกับด้านบนเพื่อสร้าง Branch ของการทดลองใช้ใน GitHub ดังนี้

$ git checkout -b staging
$ git push origin staging:staging

ขั้นตอนที่ 4: กำหนดค่าการทดลองใช้ apphosting.yaml

สำหรับทดลองใช้ Branch ควรมีสำเนา apphosting.yaml ของเวอร์ชันที่ใช้งานจริงอยู่แล้ว มาแก้ไขกันเพื่อให้โฮสติ้งแอปสามารถลดสภาพแวดล้อมการทดลองใช้เมื่อไม่มีการใช้งาน จากนั้นกำหนดค่าอื่นให้กับตัวแปรสภาพแวดล้อม STORAGE_BUCKET ด้วย

# Saved at <repository root>/apphosting.yaml

runConfig:
  minInstances: 0

env:
  - variable: STORAGE_BUCKET
    value: <some other staging Cloud Storage bucket name>

หลังจากแก้ไขเสร็จแล้ว ให้ส่งไฟล์ไปยังสาขา Git สำหรับการทดลองใช้ดังนี้

$ git add apphosting.yaml
$ git commit -m "Added staging App Hosting backend configuration."
$ git push origin

ขั้นตอนที่ 5: ทำให้ Codebase ใช้งานได้ในการทดลองใช้

เมื่อกำหนดค่าสาขา Git สำหรับการทดลองใช้แล้ว คุณสามารถทำตามขั้นตอนเดียวกับข้างต้นเพื่อทำให้ Codebase ใช้งานได้ในการทดลองใช้

firebase apphosting:backends:create --project <replace with your STAGING project ID>

หลังจากทำขั้นตอนนี้เสร็จแล้ว คุณจะมีแบ็กเอนด์การโฮสต์แอป 2 รายการที่ขับเคลื่อนโดยโค้ดเบสเดียวกัน รายการหนึ่งสำหรับที่ใช้งานจริง และอีกรายการหนึ่งอยู่ในโปรเจ็กต์ Firebase ที่แตกต่างกัน

ขั้นตอนถัดไป