Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

Firebase Hosting มีเครื่องมือผ่านทั้งคอนโซล 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 จะสร้างวัตถุ รุ่น ซึ่งชี้ไปที่เวอร์ชันเฉพาะ รุ่นประกอบด้วยข้อมูลเมตาเกี่ยวกับการปรับใช้ เช่น ใครปรับใช้และเมื่อพวกเขาปรับใช้

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

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

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

จำกัดจำนวนการเผยแพร่เพื่อเก็บไว้

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

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

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

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

ต่อไปนี้คือวิธีตั้งค่าขีดจำกัดการวางจำหน่ายสำหรับช่องสัญญาณ:

  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 : คือ ID ของไซต์โฮสติ้งที่มีช่อง

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

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

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

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

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

วิธีย้อนกลับมีดังนี้

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

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

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

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

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

วิธีลบรุ่นมีดังนี้

  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