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

โฮสติ้งของ 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
    เมื่อทำให้ใช้งานได้ในช่องทางตัวอย่าง ให้ส่ง Flag --expires DURATION ตัวอย่างเช่น

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

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

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

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

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

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

  • โคลนจากช่องตัวอย่าง "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

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

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

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

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

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

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

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