จัดการสด & ช่องตัวอย่าง การเผยแพร่ และเวอร์ชันสำหรับเว็บไซต์ของคุณ

โฮสติ้ง Firebase มอบเครื่องมือผ่านคอนโซล Firebase และ Firebase CLI เพื่อจัดการช่องทาง รุ่น และเวอร์ชันสำหรับเว็บไซต์โฮสติ้งของคุณ

ภาพรวมของโครงสร้างพื้นฐานโฮสติ้ง

การทำความเข้าใจโครงสร้างพื้นฐานของโฮสติ้งช่วยให้คุณเข้าใจตัวเลือกการจัดการที่อธิบายไว้ในหน้านี้

ทุกโปรเจ็กต์ Firebase มี ไซต์ โฮสติ้งเริ่มต้นที่สามารถเข้าถึงทรัพยากรทั้งหมดของโปรเจ็กต์ (ฐานข้อมูล การตรวจสอบสิทธิ์ ฟังก์ชัน ฯลฯ) ไซต์ประกอบด้วยหนึ่ง ช่อง ขึ้นไป โดยแต่ละช่องเชื่อมโยงกับ URL ที่ให้บริการเนื้อหาเฉพาะและการกำหนดค่าโฮสติ้ง

รูปภาพของลำดับชั้นโฮสติ้งของ Firebase

ไซต์โฮสติ้งทุกแห่งมีช่อง "สด" ที่ให้บริการเนื้อหาและการกำหนดค่าโฮสติ้งที่ (1) โดเมนย่อยที่จัดเตรียมโดย Firebase ของไซต์ ( SITE_ID .web.app และ SITE_ID .firebaseapp.com ) และ (2) โดเมนที่กำหนดเอง ที่เชื่อมต่ออยู่ คุณยังสามารถเลือกที่จะสร้างช่อง "ดูตัวอย่าง" ที่ให้บริการเนื้อหาและการกำหนดค่าของตัวเองใน "URL ดูตัวอย่าง" ชั่วคราวที่แชร์ได้ ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app )

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

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

จัดการการตั้งค่าของช่อง

สำหรับแต่ละช่องในไซต์ของคุณ คุณสามารถควบคุมการตั้งค่าได้ การตั้งค่าบางอย่าง เช่น การหมดอายุของช่อง ใช้ได้กับช่องตัวอย่างเท่านั้น

จำกัดจำนวนการเผยแพร่ที่จะเก็บไว้

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

  • เหตุใด Hosting จึงเก็บรุ่นก่อนหน้าไว้?
    สำหรับช่องถ่ายทอดสดของคุณ การเก็บรายการก่อนหน้านี้จะทำให้คุณสามารถ ย้อนกลับ ไปยังเว็บไซต์เวอร์ชันก่อนหน้าได้ หากจำเป็น สำหรับช่องแสดงตัวอย่างของคุณ การย้อนกลับยังไม่พร้อมใช้งาน

  • เหตุใดจึงจำกัดจำนวนรุ่นที่จะเก็บไว้?
    คุณลักษณะนี้สามารถช่วยคุณควบคุมระดับการใช้งาน พื้นที่เก็บข้อมูลโฮสติ้งของโครงการ เนื่องจากเนื้อหาสำหรับรุ่นก่อนหน้าจะถูกเก็บไว้ในพื้นที่เก็บข้อมูลนี้ คุณสามารถตรวจสอบพื้นที่เก็บข้อมูลโฮสติ้งของคุณได้จาก แท็บ พื้นที่เก็บข้อมูล ในคอนโซล

  • จะเกิดอะไรขึ้นเมื่อคุณจำกัดการเผยแพร่ที่จะเก็บไว้
    เมื่อคุณกำหนดขีดจำกัดสำหรับรุ่นที่จะเก็บไว้ เนื้อหาของรุ่นใดๆ ที่เกินขีดจำกัดที่คุณกำหนดไว้จะถูกกำหนดเวลาให้ลบ โดยเริ่มจากรุ่นที่เก่าที่สุดก่อน

ต่อไปนี้เป็นวิธีกำหนดขีดจำกัดพื้นที่เก็บข้อมูลสำหรับช่อง:

  1. ใน คอนโซล Firebase ให้เข้าถึงกล่องโต้ตอบการตั้งค่าพื้นที่เก็บข้อมูลการเปิดตัว:

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

    • สำหรับช่องตัวอย่างใดๆ
      ในแถวของช่องแสดงตัวอย่าง คลิก จากนั้นเลือก การตั้งค่าช่อง

  2. ป้อนจำนวนรุ่นที่คุณต้องการเก็บไว้ จากนั้นคลิก บันทึก

ตั้งค่าการหมดอายุของช่องแสดงตัวอย่าง

ตามค่าเริ่มต้น ช่องแสดงตัวอย่างจะหมดอายุ 7 วันนับจากวันที่สร้าง แต่ช่องถ่ายทอดสดของเว็บไซต์ของคุณจะไม่มีวันหมดอายุ

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

โฮสติ้งรองรับสองวิธีที่แตกต่างกันในการควบคุมการหมดอายุของช่องทาง:

  • คอนโซล Firebase
    ในแถวของช่องแสดงตัวอย่าง คลิก จากนั้นเลือก การตั้งค่าช่อง ป้อนวันที่และเวลาที่จะหมดอายุ

  • Firebase CLI
    เมื่อคุณปรับใช้กับช่องแสดงตัวอย่างของคุณ ให้ส่งแฟล็ก --expires DURATION เช่น:

    firebase hosting:channel:deploy new-awesome-feature --expires 7d

    การหมดอายุอาจอยู่ได้นานถึง 30 วันนับจากวันที่ปรับใช้ ใช้ h สำหรับชั่วโมง d สำหรับวัน และ w สำหรับสัปดาห์ (เช่น 12h , 7d , 2w ตามลำดับ)

โคลนเวอร์ชันจากช่องทางหนึ่งไปยังอีกช่องทางหนึ่ง

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

คำสั่งโคลนยัง นำไปใช้ กับแชนเนล "เป้าหมาย" เพื่อให้เนื้อหาโฮสติ้งและการกำหนดค่าที่โคลนมาแสดงโดยอัตโนมัติที่ URL ที่เกี่ยวข้องของแชนเนล "เป้าหมาย"

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

  • โคลนจากช่องแสดงตัวอย่าง "QA" ไปยังช่องถ่ายทอดสดของเว็บไซต์ของคุณ (ถ่ายทอดสด!)

  • โคลนจากช่องถ่ายทอดสดของไซต์ของคุณไปยังช่องแสดงตัวอย่าง "แก้ไขจุดบกพร่อง" (เหมือนก่อนย้อนกลับ)

  • โคลนจากช่องในโปรเจ็กต์ Firebase "ชั่วคราว" ของคุณไปยังช่องแสดงตัวอย่างในโปรเจ็กต์ Firebase "prod" ของคุณ

หากต้องการโคลนเวอร์ชัน ให้รันคำสั่งต่อไปนี้จากไดเร็กทอรีใดก็ได้:

firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID

แทนที่แต่ละตัวยึดตำแหน่งด้วยข้อมูลต่อไปนี้:

  • SOURCE_SITE_ID และ TARGET_SITE_ID : นี่คือรหัสของไซต์โฮสติ้งที่มีช่องต่างๆ

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

    • สำหรับช่องรายการสด ให้ใช้ live เป็นรหัสช่อง
    • หากยังไม่มีช่อง "เป้าหมาย" ที่ระบุ คำสั่งนี้จะสร้างช่องสัญญาณก่อนที่จะนำไปใช้งาน

ย้อนกลับไปเป็นเวอร์ชันก่อนหน้าของไซต์ของคุณ

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

การย้อนกลับจะเป็นการสร้างรุ่นใหม่ที่ให้บริการเนื้อหาเวอร์ชันเดียวกันกับรุ่นก่อนหน้า ในตาราง ประวัติการเผยแพร่ ทั้งสองรุ่นจะแสดงตัวระบุเวอร์ชันเดียวกัน

ต่อไปนี้เป็นวิธีย้อนกลับ:

  1. ใน คอนโซล Firebase ในตาราง ประวัติการเผยแพร่ สำหรับเว็บไซต์ของคุณ ให้วางเมาส์เหนือรายการรุ่นก่อนหน้าที่คุณต้องการย้อนกลับ

  2. คลิก จากนั้นเลือก ย้อนกลับ

ลบรุ่นด้วยตนเอง

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

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

ต่อไปนี้เป็นวิธีลบรุ่น:

  1. ใน คอนโซล Firebase ในตาราง ประวัติการเผยแพร่ สำหรับเว็บไซต์ของคุณ ให้วางเมาส์เหนือรายการรุ่นก่อนหน้าที่คุณต้องการลบ

  2. คลิก จากนั้นเลือก ลบ

ลบช่องแสดงตัวอย่างด้วยตนเอง

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

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

โฮสติ้งรองรับสองวิธีในการลบช่องแสดงตัวอย่าง:

  • คอนโซล Firebase
    ในแถวของช่องแสดงตัวอย่าง ให้คลิก จากนั้นเลือก ลบช่อง ยืนยันการลบ

  • Firebase CLI
    รันคำสั่งต่อไปนี้จากไดเร็กทอรีใดก็ได้:

    firebase hosting:channel:delete CHANNEL_ID

คำสั่ง CLI สำหรับช่องดูตัวอย่างและการโคลน

คำสั่งสำหรับช่องดูตัวอย่าง

คำสั่งทั้งหมดสำหรับช่องแสดงตัวอย่างสนับสนุนเป้าหมายการใช้งาน หากคุณมี ไซต์โฮสติ้งหลายแห่ง

สั่งการ คำอธิบาย
firebase hosting:channel:create CHANNEL_ID

สร้างช่องแสดงตัวอย่างใหม่ในไซต์โฮสติ้ง เริ่มต้น โดยใช้ CHANNEL_ID ที่ระบุ

คำสั่งนี้ไม่ได้ปรับใช้กับช่องสัญญาณ

firebase hosting:channel:delete CHANNEL_ID

ลบช่องแสดงตัวอย่างที่ระบุ

คุณไม่สามารถลบช่องถ่ายทอดสดของไซต์ได้

firebase hosting:channel:deploy CHANNEL_ID

ปรับใช้เนื้อหาโฮสติ้งของคุณและกำหนดค่าไปยังช่องแสดงตัวอย่างที่ระบุ

หากยังไม่มีช่องแสดงตัวอย่าง คำสั่งนี้จะสร้างช่องในไซต์โฮสต์ เริ่มต้น ก่อนที่จะปรับใช้กับช่อง

firebase hosting:channel:list แสดงรายการช่องทั้งหมด (รวมถึงช่อง "สด") ในไซต์โฮสติ้ง เริ่มต้น
firebase hosting:channel:open CHANNEL_ID เปิดเบราว์เซอร์ไปยัง URL ของช่องที่ระบุหรือส่งคืน URL หากไม่สามารถเปิดในเบราว์เซอร์ได้

คำสั่งสำหรับการโคลนเวอร์ชัน

สั่งการ คำอธิบาย
firebase hosting:clone \
SOURCE_SITE_ID : SOURCE_CHANNEL_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

โคลนเวอร์ชันที่ใช้งานล่าสุดในช่อง "ต้นทาง" ที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ

คำสั่งนี้ยังใช้กับช่อง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีช่อง "เป้าหมาย" คำสั่งนี้จะสร้างช่องแสดงตัวอย่างใหม่ในไซต์โฮสติ้ง "เป้าหมาย" ก่อนที่จะปรับใช้กับช่อง

firebase hosting:clone \
SOURCE_SITE_ID :@ VERSION_ID \
TARGET_SITE_ID : TARGET_CHANNEL_ID

โคลนเวอร์ชันที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ

คำสั่งนี้ยังใช้กับช่อง "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีช่อง "เป้าหมาย" คำสั่งนี้จะสร้างช่องแสดงตัวอย่างใหม่ในไซต์โฮสติ้ง "เป้าหมาย" ก่อนที่จะปรับใช้กับช่อง

คุณสามารถดู VERSION_ID ใน แดชบอร์ดโฮสติ้ง ของคอนโซล Firebase