Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

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

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

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

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

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

ภาพของลำดับชั้นของ Firebase Hosting

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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

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

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

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

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

  • โคลนจากช่องในโปรเจ็กต์ Firebase "staging" ของคุณไปยังช่องแสดงตัวอย่างในโปรเจ็กต์ 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. คลิก จากนั้นเลือก ย้อนกลับ

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

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

เมื่อคุณลบรุ่น แสดงว่าคุณกำลังลบเนื้อหาซึ่งมีกำหนดการลบภายใน 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