จัดการช่องถ่ายทอดสดและตัวอย่าง ผลงาน และเวอร์ชันต่างๆ สำหรับเว็บไซต์

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

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

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

ทุกโปรเจ็กต์ Firebase มีเว็บไซต์โฮสติ้งเริ่มต้นที่มีสิทธิ์เข้าถึงทรัพยากรทั้งหมดของโครงการ (ฐานข้อมูล การตรวจสอบสิทธิ์ ฟังก์ชัน ฯลฯ) เว็บไซต์มีแชแนลอย่างน้อย 1 แชแนล ซึ่งแต่ละช่องเชื่อมโยงกับ 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 คุณดูประวัติทั้งหมดของการเผยแพร่ของช่องถ่ายทอดสดได้ในตารางประวัติการเผยแพร่ หากคุณมีเว็บไซต์โฮสติ้งหลายเว็บไซต์ ให้คลิกดูสำหรับเว็บไซต์ที่ต้องการเพื่อดูประวัติการเผยแพร่ หากคุณมีช่องตัวอย่าง ก็จะปรากฏในแดชบอร์ดโฮสติ้งด้วย

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

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

จำกัดจำนวนรุ่นที่จะเก็บไว้

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

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

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

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

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

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

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

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

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

กำหนดวันหมดอายุของช่องทางพรีวิว

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 เป็นรหัสช่อง
    • หากยังไม่มีแชแนล "เป้าหมาย" ที่ระบุ คำสั่งนี้จะสร้างแชแนลก่อนที่จะทำให้ใช้งานได้

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

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

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

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

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

  2. คลิก แล้วเลือกย้อนกลับ

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

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

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

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

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

  2. คลิก แล้วเลือกลบ

ลบไฟล์ด้วยตนเอง

ในโฮสติ้งของ Firebase วิธีหลักในการลบไฟล์ที่เลือกออกจากเว็บไซต์ที่ทำให้ใช้งานได้คือการลบไฟล์ในเครื่อง จากนั้นทำให้ใช้งานได้อีกครั้ง

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

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

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

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

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

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

    firebase hosting:channel:delete CHANNEL_ID

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

คำสั่งสำหรับแชแนลตัวอย่าง

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

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

สร้างช่องทางตัวอย่างใหม่ในเว็บไซต์โฮสติ้ง default โดยใช้ 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