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

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 และ 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 ด้วย

  • หากมีขนาดเกิน 4 GiB จะต้องมี CPU อย่างน้อย 2 ตัว
  • หากมีขนาดมากกว่า 8 GiB จะต้องมี CPU อย่างน้อย 4 ตัว
  • หากมีขนาดมากกว่า 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 อะแดปเตอร์เฟรมเวิร์ก

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

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

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

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

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

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

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

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

  -   variable: API_KEY
      secret: myApiKeySecret

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

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

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

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

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

firebase apphosting:backends:create --project PROJECT_ID

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

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

    โดยปกติแล้ว package.json จะอยู่ในโฟลเดอร์นี้

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

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

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

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