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

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คอนโซล ให้ไปที่การโฮสต์และแบบไม่มีเซิร์ฟเวอร์ > 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สร้างขึ้น รวมถึงตัวแปรสภาพแวดล้อมเฉพาะของ 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 ระหว่างการบิลด์ ซึ่งจะช่วยให้คุณเริ่มต้น SDK ของไคลเอ็นต์ได้โดยไม่ต้องมีอาร์กิวเมนต์

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

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

ลำดับชั้นของตัวแปร

Firebase App Hosting จะใช้ตัวแปรตามลำดับความสำคัญตามแหล่งที่มา เช่น ค่าที่ตั้งไว้ใน Firebase Console จะลบล้างหรือมีความสำคัญเหนือกว่าค่าที่ตั้งไว้ในไฟล์ 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 Adapters ใน bundle.yaml)

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

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

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

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

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

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

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

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

firebase init apphosting

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

# 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 ด้วย

  • หากมี RAM มากกว่า 4 GiB จะต้องมี CPU อย่างน้อย 2 ตัว
  • หากมี RAM มากกว่า 8 GiB จะต้องมี CPU อย่างน้อย 4 ตัว
  • หากมี RAM มากกว่า 16 GiB จะต้องมี CPU อย่างน้อย 6 ตัว
  • หากมี RAM มากกว่า 24 GiB จะต้องมี CPU อย่างน้อย 8 ตัว

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

ลบล้างสคริปต์การสร้างและเรียกใช้

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

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

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

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

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

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

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

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

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

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

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

  -   variable: API_KEY
      secret: myApiKeySecret

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

  - variable: PINNED_API_KEY
    secret: myApiKeySecret@5

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

หากต้องการใช้ฟังก์ชันการทำงานทั้งหมดของ Cloud Secret Manager คุณสามารถใช้คอนโซล Cloud Secret Manager แทนได้ หากทำเช่นนี้ คุณจะต้องให้สิทธิ์แก่App Hostingแบ็กเอนด์ด้วยคำสั่ง FirebaseCLI 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 คอนโซล: ไปที่ Hosting และ 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 ได้ทันที

  • ตั้งชื่อแบ็กเอนด์

ลบแบ็กเอนด์

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