โฮสติ้งของ Firebase มีเครื่องมือผ่านทั้งคอนโซล Firebase และ Firebase CLI เพื่อจัดการแชแนล รุ่น และเวอร์ชันสำหรับเว็บไซต์โฮสติ้ง
ภาพรวมโครงสร้างพื้นฐานของโฮสติ้ง
การทำความเข้าใจโครงสร้างพื้นฐานของโฮสติ้งช่วยให้คุณเข้าใจตัวเลือกการจัดการที่อธิบายไว้ในหน้านี้
ทุกโปรเจ็กต์ Firebase มีเว็บไซต์โฮสติ้งเริ่มต้นที่มีสิทธิ์เข้าถึงทรัพยากรทั้งหมดของโครงการ (ฐานข้อมูล การตรวจสอบสิทธิ์ ฟังก์ชัน ฯลฯ) เว็บไซต์มีแชแนลอย่างน้อย 1 แชแนล ซึ่งแต่ละช่องเชื่อมโยงกับ URL ที่แสดงเนื้อหาที่เจาะจงและการกำหนดค่าโฮสติ้ง
เว็บไซต์โฮสติ้งทุกเว็บมีแชแนล "สด" ที่ให้บริการเนื้อหาและการกำหนดค่าโฮสติ้งที่ (1) โดเมนย่อยที่ Firebase จัดสรรไว้ของเว็บไซต์ (SITE_ID.web.app
และ SITE_ID.firebaseapp.com
) และ (2) โดเมนที่กำหนดเองที่เชื่อมต่ออยู่ คุณยังเลือกสร้างช่อง "แสดงตัวอย่าง" ที่แสดงเนื้อหาและการกำหนดค่าของตัวเองใน "URL ตัวอย่าง" ชั่วคราวที่แชร์ได้ (SITE_ID--CHANNEL_ID-RANDOM_HASH.web.app
เนื้อหาและการกำหนดค่าที่แต่ละช่องแสดงจะแพ็กเกจอยู่ในออบเจ็กต์เวอร์ชันที่มีตัวระบุที่ไม่ซ้ำกัน เมื่อคุณทำให้เว็บไซต์ใช้งานได้ Firebase จะสร้างออบเจ็กต์ release ที่ชี้ไปยังเวอร์ชันที่เฉพาะเจาะจง รุ่นมีข้อมูลเมตาเกี่ยวกับการทำให้ใช้งานได้ เช่น ผู้ที่ทำให้ใช้งานได้และเวลาที่มีการทำให้ใช้งานได้
จากหน้าแดชบอร์ดโฮสติ้งของโปรเจ็กต์ Firebase คุณดูประวัติทั้งหมดของการเผยแพร่ของช่องถ่ายทอดสดได้ในตารางประวัติการเผยแพร่ หากคุณมีเว็บไซต์โฮสติ้งหลายเว็บไซต์ ให้คลิกดูสำหรับเว็บไซต์ที่ต้องการเพื่อดูประวัติการเผยแพร่ หากคุณมีช่องตัวอย่าง ก็จะปรากฏในแดชบอร์ดโฮสติ้งด้วย
จัดการการตั้งค่าของช่อง
สำหรับแต่ละแชแนลของเว็บไซต์ คุณสามารถควบคุมการตั้งค่าได้ การตั้งค่าบางอย่าง เช่น การหมดอายุของช่อง จะใช้ได้กับช่องตัวอย่างเท่านั้น
จำกัดจำนวนรุ่นที่จะเก็บไว้
แต่ละครั้งที่คุณทำให้ใช้งานได้ในช่อง (และสร้างรุ่น) โฮสติ้งจะเก็บเวอร์ชันที่เชื่อมโยงกับรุ่นก่อนหน้าไว้ในพื้นที่เก็บข้อมูลโฮสติ้งของโปรเจ็กต์ คุณสามารถตั้งค่าจำนวนการเผยแพร่ที่จะเก็บไว้สำหรับแต่ละช่องในโปรเจ็กต์ของคุณ ทั้งช่องที่เผยแพร่อยู่และช่องตัวอย่าง
เหตุใดโฮสติ้งจึงเก็บรุ่นก่อนหน้าไว้
สำหรับการถ่ายทอดสด การเก็บรุ่นก่อนหน้าไว้ช่วยให้คุณย้อนกลับเว็บไซต์ไปยังเวอร์ชันก่อนหน้าได้ หากจำเป็น สำหรับช่องทางตัวอย่าง การย้อนกลับยังไม่พร้อมให้บริการทำไมจึงต้องจำกัดจำนวนผลงานที่จะเก็บไว้
ฟีเจอร์นี้ช่วยให้คุณควบคุมระดับการใช้งานพื้นที่เก็บข้อมูลโฮสติ้งของโปรเจ็กต์ได้ เนื่องจากเนื้อหาของรุ่นก่อนหน้าจะเก็บไว้ในพื้นที่เก็บข้อมูลนี้ คุณสามารถตรวจสอบพื้นที่เก็บข้อมูลโฮสติ้งได้จากแท็บพื้นที่เก็บข้อมูลในคอนโซลจะเกิดอะไรขึ้นเมื่อคุณจำกัดการเผยแพร่ให้เก็บไว้
เมื่อคุณกำหนดขีดจำกัดสำหรับการเก็บรักษาการเผยแพร่ ระบบจะกำหนดเวลาลบเนื้อหาของรุ่นที่เกินขีดจำกัดที่กำหนด โดยเริ่มจากรุ่นที่เก่าที่สุดก่อน
วิธีกำหนดขีดจำกัดพื้นที่เก็บข้อมูลการเผยแพร่สำหรับช่องมีดังนี้
ในคอนโซล Firebase ให้เข้าถึงกล่องโต้ตอบการตั้งค่าพื้นที่เก็บข้อมูลของรุ่น
สำหรับเวอร์ชันที่เผยแพร่
ในตารางประวัติการเผยแพร่ของเว็บไซต์ ให้คลิก แล้วเลือกการตั้งค่าพื้นที่เก็บข้อมูลสำหรับช่องแสดงตัวอย่าง
ในแถวของเวอร์ชันตัวอย่าง ให้คลิก แล้วเลือก การตั้งค่าช่อง
ป้อนจำนวนรุ่นที่ต้องการเก็บไว้ แล้วคลิกบันทึก
กำหนดวันหมดอายุของช่องทางพรีวิว
โดยค่าเริ่มต้น ช่องตัวอย่างจะหมดอายุภายใน 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 รุ่นจะแสดงตัวระบุเวอร์ชันเดียวกัน
วิธีย้อนกลับมีดังนี้
ในคอนโซล Firebase ในตารางประวัติการเผยแพร่ของเว็บไซต์ ให้วางเมาส์เหนือรายการรุ่นก่อนหน้าที่คุณต้องการย้อนกลับไป
คลิก
แล้วเลือกย้อนกลับ
ลบรุ่นด้วยตนเอง
คุณอาจต้องลบรุ่นออกจากเวอร์ชันที่กำลังเผยแพร่ด้วยตนเองเพื่อเพิ่มพื้นที่เก็บข้อมูลโฮสติ้งสำหรับโปรเจ็กต์ คุณจะลบได้เฉพาะรุ่นก่อนหน้า แต่จะลบรุ่นที่เผยแพร่ในเว็บไซต์ที่เผยแพร่อยู่ไม่ได้
การลบรุ่นหมายความว่าคุณกำลังลบเนื้อหาจริง ซึ่งมีกำหนดเวลาให้ลบภายใน 24 ชั่วโมง ระบบจะจัดเก็บออบเจ็กต์การเผยแพร่เพื่อให้คุณยังเห็นข้อมูลเมตา (ผู้ทำให้ใช้งานได้ และเวลาที่มีการทำให้ใช้งานได้)
วิธีลบรุ่นมีดังนี้
ในคอนโซล Firebase ในตารางประวัติการเผยแพร่ของเว็บไซต์ ให้วางเมาส์เหนือรายการรุ่นก่อนหน้าที่ต้องการลบ
คลิก
แล้วเลือกลบ
ลบไฟล์ด้วยตนเอง
ในโฮสติ้งของ Firebase วิธีหลักในการลบไฟล์ที่เลือกออกจากเว็บไซต์ที่ทำให้ใช้งานได้คือการลบไฟล์ในเครื่อง จากนั้นทำให้ใช้งานได้อีกครั้ง
ลบแชแนลตัวอย่างด้วยตนเอง
คุณดูตัวอย่างช่องได้โดยคลิกช่องที่ต้องการดูตัวอย่าง จากมุมมองนี้ คุณสามารถดู ลบ และเปลี่ยนการทำให้ใช้งานได้และรุ่นล่าสุดที่ผูกกับช่องนั้นๆ ได้ คุณสามารถลบช่องทางเวอร์ชันตัวอย่างได้ แต่ไม่สามารถลบสตรีมแบบสดของเว็บไซต์ได้
เมื่อคุณลบช่องตัวอย่าง ระบบจะกำหนดเวลาลบช่อง รวมถึงรุ่นและเวอร์ชันที่เชื่อมโยงภายใน 24 ชั่วโมง และ URL ตัวอย่างที่เชื่อมโยงจะถูกปิดใช้งานด้วย ทั้งนี้ข้อยกเว้นในการลบเวอร์ชันคือในกรณีที่เวอร์ชันหนึ่งเชื่อมโยงกับรุ่นอื่น (เช่น หากคุณโคลนเวอร์ชันหนึ่งจากช่องหนึ่งไปยังอีกเวอร์ชันหนึ่งภายในเว็บไซต์เดียวกัน)
โฮสติ้งรองรับ 2 วิธีที่แตกต่างกันในการลบช่องแสดงตัวอย่าง ดังนี้
คอนโซล Firebase
ในแถวของเวอร์ชันตัวอย่าง ให้คลิก แล้วเลือกลบแชแนล ยืนยันการลบFirebase CLI
เรียกใช้คำสั่งต่อไปนี้จากไดเรกทอรีใดก็ได้firebase hosting:channel:delete CHANNEL_ID
คำสั่ง CLI สำหรับการดูตัวอย่างแชแนลและการโคลน
คำสั่งสำหรับแชแนลตัวอย่าง
คำสั่งทั้งหมดสำหรับแชแนลตัวอย่างรองรับเป้าหมายการติดตั้งใช้งานหากคุณมีเว็บไซต์โฮสติ้งหลายเว็บไซต์
คำสั่ง | คำอธิบาย |
---|---|
firebase hosting:channel:create CHANNEL_ID
|
สร้างช่องทางตัวอย่างใหม่ในเว็บไซต์โฮสติ้ง default โดยใช้ คำสั่งนี้ไม่ได้นำไปใช้กับแชแนล |
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 \
|
โคลนเวอร์ชันที่ใช้งานล่าสุดบนแชแนล "แหล่งที่มา" ที่ระบุไปยังแชแนล "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังใช้งานได้กับแชแนล "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีแชแนล "เป้าหมาย" คำสั่งนี้จะสร้างแชแนลตัวอย่างใหม่ในเว็บไซต์โฮสติ้ง "เป้าหมาย" ก่อนทำให้ใช้งานได้กับแชแนล |
firebase hosting:clone \
|
โคลนเวอร์ชันที่ระบุไปยังแชแนล "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังใช้งานได้กับแชแนล "เป้าหมาย" ที่ระบุด้วย หากยังไม่มีแชแนล "เป้าหมาย" คำสั่งนี้จะสร้างแชแนลตัวอย่างใหม่ในเว็บไซต์โฮสติ้ง "เป้าหมาย" ก่อนทำให้ใช้งานได้กับแชแนล คุณจะพบ |