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

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

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

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

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

รูปภาพของ <span class=ลําดับชั้นของโฮสติ้ง Firebase" />

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตั้งค่าเวลาหมดอายุของเวอร์ชันตัวอย่าง

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

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

Hosting รองรับการควบคุมวันหมดอายุของช่อง 2 วิธี ดังนี้

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

  • Firebase CLI
    เมื่อคุณติดตั้งใช้งานในช่องเวอร์ชันตัวอย่าง ให้ส่งผ่านตัวเลือก--expires DURATION ตัวอย่างเช่น

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

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

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

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

คำสั่งโคลนยังใช้งานไปยัง "เป้าหมาย" ด้วย เพื่อให้การโคลน เนื้อหาและการกำหนดค่า Hosting จะแสดงที่ "เป้าหมาย" โดยอัตโนมัติ 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: รหัสของเว็บไซต์ Hosting ที่มีช่อง

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

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

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

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

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

วิธีเปลี่ยนกลับมีดังนี้

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

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

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

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

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

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

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

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

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

ใน Firebase Hosting วิธีหลักในการลบไฟล์ที่เลือกจากเว็บไซต์ที่ติดตั้งใช้งานแล้วคือการลบไฟล์ในเครื่อง จากนั้นจึงติดตั้งใช้งานอีกครั้ง

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

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

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

Hosting รองรับการลบช่องตัวอย่าง 2 วิธีดังนี้

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

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

    firebase hosting:channel:delete CHANNEL_ID

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

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

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

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

สร้างช่องทางแสดงตัวอย่างใหม่ใน default Hosting เว็บไซต์ที่ใช้ CHANNEL_ID

คำสั่งนี้ไม่ทำให้ใช้งานได้กับแชแนล

firebase hosting:channel:delete CHANNEL_ID

ลบเวอร์ชันตัวอย่างที่ระบุ

คุณลบช่องที่เผยแพร่อยู่ของเว็บไซต์ไม่ได้

firebase hosting:channel:deploy CHANNEL_ID

ทำให้เนื้อหา Hosting ใช้งานได้และกำหนดค่าเป็นที่ระบุ เวอร์ชันตัวอย่าง

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

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

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

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

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

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

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

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

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

คุณจะพบ VERSION_ID ในหน้าแดชบอร์ด Hosting ของคอนโซล Firebase