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