กำหนดค่าและจัดการแบ็กเอนด์โฮสติ้งของแอป

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

ตั้งค่าและอัปเดตตัวแปรสภาพแวดล้อม

บางครั้งคุณอาจต้องมีการกำหนดค่าเพิ่มเติมสำหรับกระบวนการบิลด์ App Hosting มีการกำหนดค่าสภาพแวดล้อมเพื่อจัดเก็บและดึงข้อมูลประเภทนี้สำหรับโปรเจ็กต์ของคุณผ่านคอนโซล Firebase และอีกทางเลือกหนึ่งคือใน apphosting.yaml

การตั้งค่าตัวแปรสภาพแวดล้อมในคอนโซล Firebase เป็นวิธีที่เร็วที่สุดในการ เริ่มต้นใช้งาน ใช้ apphosting.yaml หากต้องการ จัดเก็บและเข้าถึงพารามิเตอร์ลับ, ตั้งค่าตัวแปรที่พร้อมใช้งานเฉพาะในเวลาบิวด์หรือรันไทม์ หรือแชร์ตัวแปรสภาพแวดล้อม ในสภาพแวดล้อมหลายรายการ ทั้งคอนโซลและ apphosting.<env>.yaml ช่วยให้คุณ ตั้งค่าต่างๆ สำหรับสภาพแวดล้อมที่แตกต่างกันได้

คอนโซล Firebase

ภาพหน้าจอของกล่องโต้ตอบคอนโซล Firebase สำหรับการเพิ่มตัวแปรสภาพแวดล้อม

apphosting.yaml

env:
-   variable: STORAGE_BUCKET
    value: mybucket.firebasestorage.app

อัปเดตตัวแปร

คุณสามารถเพิ่ม แก้ไข หรือลบตัวแปรสภาพแวดล้อมใน Firebase คอนโซล หรือ ใช้ apphosting.yaml ได้ดังนี้

  • Firebase คอนโซล:

    1. ในคอนโซล Firebase ให้ไปที่ โฮสติ้งและแบบ Serverless > App Hosting

    2. ไปที่ดูแบ็กเอนด์ > การตั้งค่า > สภาพแวดล้อม

    3. เพิ่ม แก้ไข หรือลบตัวแปรสภาพแวดล้อม

  • apphosting.yaml

    ดูวิธีสร้างและแก้ไขไฟล์ด้วยตนเอง

การเปลี่ยนแปลงจะมีผลเฉพาะกับการเปิดตัวครั้งถัดไปเท่านั้น และจะไม่ส่งผลต่อการเปิดตัวครั้งปัจจุบัน คุณสามารถบันทึกและสร้างการเปิดตัวใหม่ หรือบันทึกตัวแปรและทำให้ใช้งานได้ในภายหลัง

ตั้งค่าความพร้อมใช้งานของตัวแปร

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

env:
-   variable: STORAGE_BUCKET
    value: mybucket.firebasestorage.app
    availability:
    -   BUILD
    -   RUNTIME

สำหรับแอป Next.js คุณยังใช้คำนำหน้า NEXT_PUBLIC_ ในลักษณะเดียวกับที่คุณใช้ในไฟล์ dotenv เพื่อให้ตัวแปรเข้าถึงได้ในเบราว์เซอร์

env:
-   variable: NEXT_PUBLIC_STORAGE_BUCKET
    value: mybucket.firebasestorage.app
    availability:
    -   BUILD
    -   RUNTIME

ไฟล์ dotenv สำหรับ Next.js

สำหรับแอป Next.js dotenv ไฟล์ที่มีตัวแปรสภาพแวดล้อม จะทำงานร่วมกับ App Hosting ได้

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

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

KEY1=value1
KEY2=value2
KEY3=value3

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

ตัวแปรสภาพแวดล้อมที่ป้อนข้อมูลโดยอัตโนมัติ

มีตัวแปรสภาพแวดล้อมที่ป้อนข้อมูลโดยอัตโนมัติโดย App Hosting ซึ่งรวมถึง ตัวแปรที่ Google Cloud, ที่ Google Cloud ป้อนข้อมูล รวมถึงตัวแปรสภาพแวดล้อมเฉพาะของ Firebase เมื่อตั้งค่า appId ในแบ็กเอนด์ระหว่างการตั้งค่า

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

    {
      "databaseURL": 'https://DATABASE_NAME.firebaseio.com',
      "storageBucket": 'PROJECT_ID.firebasestorage.app',
      "projectId": 'PROJECT_ID'
    }
    

    ระบบจะใช้การกำหนดค่านี้โดยอัตโนมัติเมื่อคุณเริ่มต้น Firebase Admin SDK โดยไม่มีอาร์กิวเมนต์

  • FIREBASE_WEBAPP_CONFIG: (พร้อมใช้งานในสภาพแวดล้อมของบิลด์เท่านั้น) ให้ข้อมูลการกำหนดค่าโปรเจ็กต์ Firebase ต่อไปนี้

    {
      "apiKey": 'API_KEY',
      "appId": 'APP_ID',
      "authDomain": 'AUTH_DOMAIN.firebaseapp.com',
      "databaseURL": 'https://DATABASE_NAME.firebaseio.com',
      "messagingSenderId": 'PROJECT_NUMBER',
      "projectId": 'PROJECT_ID',
      "storageBucket": 'PROJECT_ID.firebasestorage.app',
    }
    

    Firebase JS SDK จะตรวจสอบตัวแปรสภาพแวดล้อม FIREBASE_WEBAPP_CONFIG นี้โดยอัตโนมัติในสคริปต์ postinstall ระหว่างบิวด์ ซึ่งช่วยให้คุณเริ่มต้น Client SDK ได้โดยไม่มีอาร์กิวเมนต์ด้วย

ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ตัวแปรสภาพแวดล้อมเหล่านี้เพื่อเริ่มต้น SDK ได้ที่หัวข้อเริ่มต้น Firebase Admin SDK และ Web SDK โดยอัตโนมัติ

โปรดทราบว่าค่าในการกำหนดค่า Firebase จริงจะสอดคล้องกับทรัพยากรเฉพาะที่คุณจัดเตรียมไว้ในโปรเจ็กต์

การจัดลำดับความสำคัญของตัวแปร

Firebase App Hosting จะใช้ตัวแปรตามลำดับความสำคัญโดยอิงตามแหล่งที่มา เช่น ค่าที่ตั้งไว้ใน Firebase คอนโซลจะ ลบล้างหรือมีความสำคัญเหนือกว่าค่าที่ตั้งไว้ใน apphosting.yaml และ dotenv ไฟล์เสมอ

ลำดับความสำคัญทั้งหมดมีดังนี้

  1. Firebase คอนโซล → ตัวแปรที่ตั้งไว้ในคอนโซล
  2. apphosting.<env>.yaml → ตัวแปรที่ระบุไว้ในไฟล์ YAML เฉพาะสภาพแวดล้อม เช่น apphosting.staging.yaml (ดูหัวข้อทำให้ใช้งานได้ในหลายสภาพแวดล้อม)
  3. apphosting.yaml → ตัวแปรที่ระบุไว้ในไฟล์ apphosting.yaml
  4. ระบบ Firebase → ตัวแปรที่ Firebase ตั้งค่าไว้ซึ่งมีค่าสำหรับ firebase_config json หรือ firebase_webapp_config รวมถึงตัวแปรสภาพแวดล้อม ที่ตั้งค่าชื่อโฮสต์และพอร์ตสำหรับแอป SSR (ตั้งค่าโดยอะแดปเตอร์ App Hosting ใน bundle.yaml)

ชื่อที่สงวนไว้และข้อจำกัด

ตัวแปรสภาพแวดล้อมที่กำหนดไว้ใน Cloud Runสัญญาคอนเทนเนอร์รันไทม์ จะสงวนไว้และตั้งค่าไม่ได้

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

คีย์ตัวแปรสภาพแวดล้อมบางรายการสงวนไว้สำหรับการใช้งานภายใน อย่าใช้คีย์เหล่านี้ในไฟล์การกำหนดค่า

  • สตริงว่าง ("")
  • คีย์ที่มี "="
  • คีย์ที่ขึ้นต้นด้วย X_FIREBASE_, X_GOOGLE_ หรือ CLOUD_RUN_
  • PORT
  • K_SERVICE
  • K_REVISION
  • K_CONFIGURATION
  • คีย์ที่ซ้ำกัน

สร้างและแก้ไข apphosting.yaml

สำหรับการกำหนดค่าขั้นสูง เช่น ข้อมูลลับหรือการตั้งค่ารันไทม์ เช่น การเกิดขึ้นพร้อมกัน, CPU และหน่วยความจำ คุณจะต้องสร้างและแก้ไขไฟล์ apphosting.yaml ในไดเรกทอรีรากของแอป ไฟล์นี้รองรับการอ้างอิงข้อมูลลับที่จัดการด้วย Secret Manager ของ Cloud ซึ่งทำให้ตรวจสอบการควบคุมแหล่งที่มาได้อย่างปลอดภัย

หากต้องการสร้าง apphosting.yaml ให้เรียกใช้คำสั่งต่อไปนี้

firebase init apphosting

การดำเนินการนี้จะสร้างไฟล์ apphosting.yaml เริ่มต้นพื้นฐานพร้อมการกำหนดค่าตัวอย่าง (ที่แสดงเป็นความคิดเห็น) หลังจากแก้ไขแล้ว ไฟล์ apphosting.yaml ทั่วไปอาจมีลักษณะดังต่อไปนี้ โดยมีการตั้งค่าสำหรับบริการ Cloud Run ของแบ็กเอนด์ ตัวแปรสภาพแวดล้อมบางรายการ และการอ้างอิงข้อมูลลับบางรายการที่จัดการโดย Secret Manager ของ Cloud

# Settings for Cloud Run
runConfig:
  minInstances: 2
  maxInstances: 100
  concurrency: 100
  cpu: 2
  memoryMiB: 1024

# Environment variables and secrets
env:
  - variable: STORAGE_BUCKET
    value: mybucket.firebasestorage.app
    availability:
      - BUILD
      - RUNTIME

  - variable: API_KEY
    secret: myApiKeySecret

    # Same as API_KEY above but with a pinned version.
  - variable: PINNED_API_KEY
    secret: myApiKeySecret@5

    # Same as API_KEY above but with the long form secret reference as defined by Cloud Secret Manager.
  - variable: VERBOSE_API_KEY
    secret: projects/test-project/secrets/secretID

    # Same as API_KEY above but with the long form secret reference with pinned version.
  - variable: PINNED_VERBOSE_API_KEY
    secret: projects/test-project/secrets/secretID/versions/5

ส่วนที่เหลือของคู่มือนี้จะให้ข้อมูลและบริบทเพิ่มเติมสำหรับการตั้งค่าตัวอย่างเหล่านี้

กำหนดค่าการตั้งค่าบริการ Cloud Run

การตั้งค่า apphosting.yaml ช่วยให้คุณกำหนดค่าวิธีจัดเตรียมบริการ Cloud Runได้ การตั้งค่าที่พร้อมใช้งานสำหรับบริการ Cloud Runมีให้ในออบเจ็กต์runConfigดังนี้

  • cpu – จำนวน CPU ที่ใช้สำหรับอินสแตนซ์การแสดงผลแต่ละรายการ (ค่าเริ่มต้นคือ 0)
  • memoryMiB – ปริมาณหน่วยความจำที่จัดสรรสำหรับอินสแตนซ์การแสดงผลแต่ละรายการใน MiB (ค่าเริ่มต้นคือ 512)
  • maxInstances – จำนวนคอนเทนเนอร์สูงสุดที่จะทำงานพร้อมกัน (ค่าเริ่มต้นคือ 100 และจัดการโดยโควต้า)
  • minInstances – จำนวนคอนเทนเนอร์ที่จะทำงานอยู่เสมอ (ค่าเริ่มต้นคือ 0)
  • concurrency – จำนวนคำขอสูงสุดที่อินสแตนซ์การแสดงผลแต่ละรายการรับได้ (ค่าเริ่มต้นคือ 80)

โปรดทราบความสัมพันธ์ที่สำคัญระหว่าง cpu กับ memoryMiB โดยหน่วยความจำสามารถตั้งค่าเป็นค่าจำนวนเต็มใดก็ได้ระหว่าง 128 ถึง 32768 แต่การเพิ่มขีดจำกัดหน่วยความจำอาจต้องเพิ่มขีดจำกัด CPU ดังนี้

  • มากกว่า 4 GiB ต้องใช้ CPU อย่างน้อย 2 รายการ
  • มากกว่า 8 GiB ต้องใช้ CPU อย่างน้อย 4 รายการ
  • มากกว่า 16 GiB ต้องใช้ CPU อย่างน้อย 6 รายการ
  • มากกว่า 24 GiB ต้องใช้ CPU อย่างน้อย 8 รายการ

ในทำนองเดียวกัน ค่าของ cpu จะส่งผลต่อการตั้งค่าการทำงานพร้อมกัน หากตั้งค่า CPU น้อยกว่า 1 รายการ คุณต้องตั้งค่าการทำงานพร้อมกันเป็น 1 และระบบจะจัดสรร CPU ระหว่างการประมวลผลคำขอเท่านั้น

ลบล้างสคริปต์บิวด์และรัน

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

scripts:
  buildCommand: next build --no-lint
  runCommand: node dist/index.js

การลบล้างคำสั่งบิวด์มีความสำคัญเหนือกว่าคำสั่งบิวด์อื่นๆ และ จะเลือกไม่ใช้ตัวปรับเฟรมเวิร์กและปิดใช้การเพิ่มประสิทธิภาพเฉพาะเฟรมเวิร์กที่ App Hostingจัดหาให้ วิธีนี้เหมาะที่สุดเมื่อตัวปรับไม่รองรับฟีเจอร์ของแอป หากต้องการเปลี่ยนคำสั่งบิวด์ แต่ยังคงใช้ตัวปรับที่เราจัดหาให้ ให้ตั้งค่าสคริปต์บิวด์ใน package.json แทนตามที่อธิบายไว้ใน App Hosting ตัวปรับเฟรมเวิร์ก

ใช้การลบล้างคำสั่งรันเมื่อมีคำสั่งเฉพาะ ที่คุณต้องการใช้เพื่อเริ่มต้นแอปซึ่งแตกต่างจาก App Hosting-ที่อนุมาน

กำหนดค่าเอาต์พุตบิวด์

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

outputFiles:
  serverApp:
    include: [dist, server.js]

พารามิเตอร์ include จะรับรายการไดเรกทอรีและไฟล์ที่สัมพันธ์กับไดเรกทอรีรากของแอปซึ่งจำเป็นต่อการทำให้แอปใช้งานได้ หากต้องการให้เก็บไฟล์ทั้งหมดไว้ ให้ตั้งค่า include เป็น [.] และระบบจะทำให้ไฟล์ทั้งหมดใช้งานได้

จัดเก็บและเข้าถึงพารามิเตอร์ลับ

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

พารามิเตอร์ประเภท secret แสดงถึงพารามิเตอร์สตริงที่มีค่า จัดเก็บไว้ใน Secret Manager ของ Cloud พารามิเตอร์ลับจะตรวจสอบการมีอยู่ของข้อมูลลับใน Secret Manager ของ Cloud และโหลดค่าระหว่างการเปิดตัวแทนที่จะดึงค่าโดยตรง

  -   variable: API_KEY
      secret: myApiKeySecret

ข้อมูลลับใน Secret Manager ของ Cloud อาจมีหลายเวอร์ชัน โดยค่าเริ่มต้น ค่าของพารามิเตอร์ลับที่แบ็กเอนด์ที่ใช้งานอยู่ใช้ได้จะตรึงไว้กับข้อมูลลับเวอร์ชันล่าสุดที่พร้อมใช้งานในขณะที่สร้างแบ็กเอนด์ หากคุณมีข้อกำหนดสำหรับการกำหนดเวอร์ชันและการจัดการวงจรชีวิตของพารามิเตอร์ คุณสามารถปักหมุดไว้กับเวอร์ชันที่เฉพาะเจาะจงได้ด้วย Secret Manager ของ Cloud เช่น หากต้องการตรึงไว้กับเวอร์ชัน 5 ให้ทำดังนี้

  - variable: PINNED_API_KEY
    secret: myApiKeySecret@5

คุณสามารถสร้างข้อมูลลับด้วยคำสั่ง CLI Firebase firebase apphosting:secrets:set และระบบจะแจ้งให้คุณเพิ่มสิทธิ์ที่จำเป็น โฟลว์นี้ช่วยให้คุณมีตัวเลือกในการเพิ่มการอ้างอิงข้อมูลลับลงใน apphosting.yaml โดยอัตโนมัติ

หากต้องการใช้ฟังก์ชันทั้งหมดของ Secret Manager ของ Cloud คุณสามารถใช้คอนโซล Secret Manager ของ Cloud แทนได้ หากทำเช่นนี้ คุณจะต้องให้สิทธิ์เข้าถึงแบ็กเอนด์ App Hosting ด้วยคำสั่ง CLI Firebase firebase apphosting:secrets:grantaccess

กำหนดค่าการเข้าถึง VPC

แบ็กเอนด์ App Hosting สามารถเชื่อมต่อกับเครือข่าย Virtual Private Cloud (VPC) ได้ ดูข้อมูลเพิ่มเติมและตัวอย่างได้ที่หัวข้อเชื่อมต่อFirebase App Hostingกับเครือข่าย VPC

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

การกำหนดค่าขาออก VPC โดยตรง (apphosting.yaml)

runConfig:
  vpcAccess:
    egress: PRIVATE_RANGES_ONLY # Default value
    networkInterfaces:
      # Specify at least one of network and/or subnetwork
      - network: my-network-id
        subnetwork: my-subnetwork-id

การกำหนดค่าเครื่องมือเชื่อมต่อแบบ Serverless (apphosting.yaml)

runConfig:
  vpcAccess:
    egress: ALL_TRAFFIC
    connector: connector-id

จัดการแบ็กเอนด์

คำสั่งสำหรับการจัดการพื้นฐานของแบ็กเอนด์ App Hosting มี ให้ในคอนโซล Firebase และ Firebase CLI ส่วนนี้จะอธิบายงานการจัดการที่พบบ่อยบางอย่าง ซึ่งรวมถึงการสร้างและลบแบ็กเอนด์

สร้างแบ็กเอนด์

แบ็กเอนด์ App Hosting คือชุดทรัพยากรที่มีการจัดการซึ่ง App Hosting สร้างขึ้นเพื่อบิวด์และเรียกใช้เว็บแอป

Firebaseคอนโซล: ไปที่ โฮสติ้งและแบบ Serverless > App Hosting, แล้วคลิกสร้างแบ็กเอนด์ (หากนี่เป็นแบ็กเอนด์แรกในFirebase โปรเจ็กต์ ให้คลิกเริ่มต้นใช้งาน)

Firebase CLI: (v13.15.4 ขึ้นไป) หากต้องการสร้างแบ็กเอนด์ ให้เรียกใช้คำสั่งต่อไปนี้จากรูทของไดเรกทอรีโปรเจ็กต์ที่อยู่ในเครื่อง โดยระบุรหัสโปรเจ็กต์เป็นอาร์กิวเมนต์

firebase apphosting:backends:create --project PROJECT_ID

ทั้งคอนโซลหรือ CLI ให้ทำตามข้อความแจ้งเพื่อเลือก ภูมิภาค ตั้งค่า การเชื่อมต่อ GitHub และกำหนดค่าการตั้งค่าการทำให้ใช้งานได้พื้นฐานเหล่านี้

  • ตั้งค่าไดเรกทอรีรากของแอป (ค่าเริ่มต้นคือ /)

    โดยปกติไฟล์ package.json จะอยู่ในตำแหน่งนี้

  • ตั้งค่าสาขาที่ใช้งานจริง

    นี่คือ Branch ของที่เก็บ GitHub ที่ทำให้ใช้งานได้ใน URL ที่เผยแพร่อยู่ โดยมักจะเป็นสาขาที่ผสานสาขาฟีเจอร์หรือสาขาการพัฒนา

  • ยอมรับหรือปฏิเสธการเปิดตัวอัตโนมัติ

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

  • กำหนดชื่อให้กับแบ็กเอนด์

  • เลือกสภาพแวดล้อมรันไทม์ โดยค่าเริ่มต้น ระบบจะเลือก Node.js เวอร์ชันล่าสุดที่แนะนำไว้ล่วงหน้า

    • กำหนดค่าการอัปเดตอิมเมจพื้นฐานอัตโนมัติ (ABIU) ระบบจะเปิดใช้ ABIU โดยค่าเริ่มต้นและใช้แพตช์ความปลอดภัยกับสภาพแวดล้อมพื้นฐานโดยอัตโนมัติ คุณสามารถเลือกไม่ใช้ ABIU ได้โดยเลือก "ไม่ได้ระบุ" สำหรับรันไทม์

ลบแบ็กเอนด์

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

Firebase คอนโซล: จากเมนูการตั้งค่า ให้เลือกลบแบ็กเอนด์

Firebase CLI: (v13.15.4 ขึ้นไป)

  1. เรียกใช้คำสั่งต่อไปนี้เพื่อลบแบ็กเอนด์ App Hosting การดำเนินการนี้จะปิดใช้งานโดเมนทั้งหมดสำหรับแบ็กเอนด์และลบบริการที่เชื่อมโยง Cloud Run

    firebase apphosting:backends:delete BACKEND_ID --project PROJECT_ID
    
  2. (ไม่บังคับ) ในแท็บคอนโซล Google CloudสำหรับArtifact Registryให้ลบอิมเมจสำหรับแบ็กเอนด์ใน "firebaseapphosting-images"

  3. ใน Cloud Secret Manager ให้ลบข้อมูลลับที่มี "apphosting" ในชื่อข้อมูลลับ โดยระมัดระวังเป็นพิเศษเพื่อให้แน่ใจว่าแบ็กเอนด์อื่นๆ หรือส่วนอื่นๆ ของโปรเจ็กต์ Firebase ไม่ได้ใช้ข้อมูลลับเหล่านี้