เป็นเรื่องปกติที่จะมีสภาพแวดล้อมหลายแบบที่ทำให้ใช้งานได้จากฐานของโค้ดเดียวกัน โดยมีการกำหนดค่าต่างกันเล็กน้อย เช่น คุณอาจต้องการกำหนดให้ CPU และ RAM สำหรับสภาพแวดล้อมการทดลองใช้ลดลง หรือคุณอาจต้องตรวจสอบ สภาพแวดล้อมที่ใช้งานจริงจะทำให้อินสแตนซ์อย่างน้อย 1 รายการทำงานและพร้อมทำงาน คำขอ นอกจากนี้คุณอาจต้องการระบุตัวแปรสภาพแวดล้อมอื่นและ ข้อมูลลับตามสภาพแวดล้อมและทรัพยากรที่ต้องการใช้
คู่มือนี้จะอธิบายถึงวิธีทำให้สภาพแวดล้อมที่ใช้งานจริงและสภาพแวดล้อมการทดลองใช้ แต่ละรายการมีวัตถุประสงค์ต่อไปนี้ โปรเจ็กต์ Firebase แยกต่างหาก โดยทำตามหลักการเดียวกันนี้ คุณสามารถปรับใช้ สภาพแวดล้อมประเภทอื่นๆ หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับสภาพแวดล้อม ให้ไปที่ จาก ภาพรวมของ สภาพแวดล้อมและทั่วไป แนวทางปฏิบัติแนะนำในการตั้งค่า Firebase โปรเจ็กต์
ข้อกำหนดเบื้องต้น
- ระบบได้จัดเก็บโค้ดของแอปพลิเคชันไว้ใน GitHub แล้ว
- คุณได้สร้างโปรเจ็กต์สำหรับ
สภาพแวดล้อม เช่น
my-production-firebase-project
และmy-staging-firebase-project
อย่าลืมติดแท็ก Firebase เวอร์ชันที่ใช้งานจริง ที่มี"การผลิต" สภาพแวดล้อม type - ในแต่ละโปรเจ็กต์ คุณได้สร้างแบ็กเอนด์ App Hosting ด้วย
Branch ที่ตั้งค่าเป็น Branch ของ GitHub ที่ต้องการทำให้ใช้งานได้ (เช่น
main
) โปรดดู เริ่มต้นใช้งาน App Hosting เพื่อรับข้อมูลเพิ่มเติม
ขั้นตอนที่ 0: สร้างการกำหนดค่าเริ่มต้นใน apphosting.yaml
App Hosting รองรับไฟล์การกำหนดค่าชื่อ apphosting.yaml
ในการจัดการ
การตั้งค่ารันไทม์ (CPU, การเกิดขึ้นพร้อมกัน, ขีดจำกัดหน่วยความจำ ฯลฯ) และสภาพแวดล้อม
สำหรับแอปของคุณ และยังรองรับการอ้างอิงไปยังข้อมูลลับที่มีการจัดการด้วย
Cloud Secret Manager ทำให้ตรวจสอบการควบคุมแหล่งที่มาได้อย่างปลอดภัย สำหรับข้อมูลเพิ่มเติม
โปรดดูที่กำหนดค่า
แบ็กเอนด์
หากต้องการเริ่มต้นใช้งาน ให้สร้างไฟล์ apphosting.yaml
ในไดเรกทอรีรากของแอป
ซึ่งเป็นไฟล์การกำหนดค่าสำรองที่ใช้เมื่อ
ไม่พบไฟล์การกำหนดค่าเฉพาะสภาพแวดล้อม ค่าที่เก็บไว้ใน
apphosting.yaml
ควรเป็นค่าเริ่มต้นที่ปลอดภัยสำหรับใช้ในทุกสภาพแวดล้อม
ส่วนถัดไปจะอธิบายวิธีลบล้างค่าเริ่มต้นใน apphosting.yaml
สำหรับสภาพแวดล้อมที่เฉพาะเจาะจง ขั้นตอนตัวอย่างนี้จะสร้างสภาพแวดล้อมการทดลองใช้
ขั้นตอนที่ 1: ตั้งชื่อสภาพแวดล้อม
แบ็กเอนด์ App Hosting แต่ละรายการมีการตั้งค่าชื่อสภาพแวดล้อม ช่องนี้ ซึ่งใช้ในการแมปแบ็กเอนด์กับไฟล์การกำหนดค่าเฉพาะสภาพแวดล้อม และ เปลี่ยนแปลงได้ตลอดเวลา คุณตั้งชื่อสภาพแวดล้อมได้เพียงชื่อเดียวต่อแบ็กเอนด์เท่านั้น
วิธีตั้งค่าชื่อสภาพแวดล้อมของแบ็กเอนด์
- ในคอนโซล Firebase ให้เลือกโปรเจ็กต์การทดลองใช้ (ในตัวอย่างนี้ my-staging-firebase-project)
- เลือก App Hosting จากเมนูนำทางด้านซ้าย
- คลิกดูแดชบอร์ดบนแบ็กเอนด์ที่เลือก
- ในแท็บการตั้งค่า ให้เลือกการทำให้ใช้งานได้
- ในส่วนชื่อสภาพแวดล้อม ให้ป้อนชื่อสภาพแวดล้อม คุณสามารถตั้งชื่อ สภาพแวดล้อมตามที่คุณต้องการ ในตัวอย่างนี้คือการทดลองใช้
- คลิกบันทึก
เมื่อมีการทริกเกอร์การเปิดตัว App Hosting สำหรับแบ็กเอนด์ของคุณ (ไม่ว่าจะเป็น Git ก็ตาม
พุชหรือดำเนินการด้วยตนเองผ่านคอนโซล) App Hosting จะตรวจหา
ก่อน apphosting.ENVIRONMENT_NAME.yaml
ไฟล์
จะกลับไปใช้ apphosting.yaml
ขั้นตอนที่ 2: สร้างไฟล์ apphosting.yaml
เฉพาะสภาพแวดล้อม
สำหรับการกำหนดค่าเฉพาะสภาพแวดล้อม ให้สร้างไฟล์ที่มีชื่อ
apphosting.ENVIRONMENT_NAME.yaml
เพื่อ
ระบุการลบล้างเฉพาะสภาพแวดล้อม ไฟล์นี้มีรูปแบบเดียวกับ
apphosting.yaml เริ่มต้นและต้องอยู่ใน
ไดเรกทอรีรากของแอปควบคู่ไปกับ apphosting.yaml
ขณะสร้างบิลด์ App Hosting จะรวม 2 ไฟล์นี้เข้าด้วยกัน โดยจัดลำดับความสำคัญให้
ในไฟล์ YAML เฉพาะสภาพแวดล้อมบนฐาน apphosting.yaml
ในตัวอย่างนี้ คุณจะสร้างไฟล์ชื่อ apphosting.staging.yaml
ใน
ไดเรกทอรีรากของแอป:
runConfig:
cpu: 1
memoryMiB: 512
concurrency: 5
env:
- variable: API_URL
value: api.staging.service.com
availability:
- BUILD
- variable: DATABASE_URL
secret: secretStagingDatabaseURL
สมมติว่าคุณมี apphosting.yaml
ที่มีลักษณะดังนี้
runConfig:
cpu: 3
memoryMiB: 1024
maxInstances: 4
minInstances: 0
concurrency: 100
env:
- variable: API_URL
value: api.service.com
availability:
- BUILD
- RUNTIME
- variable: STORAGE_BUCKET
value: mybucket.appspot.com
availability:
- RUNTIME
- variable: API_KEY
secret: secretIDforAPI
ระบบจะผสานเอาต์พุตสุดท้ายที่ผสานซึ่งคุณตรวจสอบได้ในบันทึกของ Cloud Build ซึ่งจะมีลักษณะดังนี้
runConfig:
cpu: 1
memoryMiB: 512
maxInstances: 4
minInstances: 0
concurrency: 5
env:
- variable: API_URL
value: api.staging.service.com
availability:
- BUILD
- variable: STORAGE_BUCKET
value: mybucket.appspot.com
availability:
- RUNTIME
- variable: API_KEY
secret: secretIDforAPI
- variable: DATABASE_URL
secret: secretStagingDatabaseURL
โปรดทราบว่าค่า runConfig
บางค่า เช่น CPU ถูกเขียนทับด้วย
เป็นตัวแปรสภาพแวดล้อมที่ทับซ้อนกัน
ขั้นตอนที่ 3: ทำให้ Codebase ใช้งานได้
เมื่อแก้ไขไฟล์ apphosting.ENVIRONMENT_NAME.yaml
ที่ระบุสภาพแวดล้อมเสร็จแล้ว ให้พุชไฟล์ของคุณไปยัง GitHub ดังนี้
$ git add apphosting.<ENVIRONMENT_NAME>.yaml
$ git commit -m "Added environment specific yaml file"
$ git push
แบ็กเอนด์ที่ติดแท็กด้วยชื่อสภาพแวดล้อมนี้จะใช้การลบล้างเฉพาะ
ที่คุณระบุไว้ในไฟล์ YAML ที่เกี่ยวข้อง และกลับไปใช้
apphosting.yaml
เมื่อไม่พบค่า สำหรับแบ็กเอนด์ที่ไม่มีการเชื่อมโยง
คุณจะใช้ apphosting.yaml ต่อไปได้
ขั้นตอนถัดไป
- เจาะลึกยิ่งขึ้น: สำรวจ Firebase Codelab ที่ผสานรวมแอปที่โฮสต์ไว้กับ ฟีเจอร์การตรวจสอบสิทธิ์ Firebase และ AI ของ Google Next.js | มุมแหลม
- เชื่อมต่อโดเมนที่กำหนดเอง
- กำหนดค่าแบ็กเอนด์
- ตรวจสอบการเปิดตัว การใช้งานเว็บไซต์ และบันทึก