Firebase Hosting มีเครื่องมือผ่านทั้งคอนโซล Firebase และ Firebase CLI เพื่อจัดการแชนเนล รุ่น และเวอร์ชันสำหรับไซต์โฮสติ้งของคุณ
ภาพรวมของโครงสร้างพื้นฐานโฮสติ้ง
การทำความเข้าใจโครงสร้างพื้นฐานของโฮสติ้งช่วยให้คุณเข้าใจตัวเลือกการจัดการที่อธิบายไว้ในหน้านี้
ทุกโปรเจ็กต์ Firebase มี ไซต์ โฮสติ้งเริ่มต้นที่สามารถเข้าถึงทรัพยากรทั้งหมดของโครงการ (ฐานข้อมูล การรับรองความถูกต้อง ฟังก์ชัน ฯลฯ) ไซต์ประกอบด้วยหนึ่ง แช นเนลหรือมากกว่า โดยที่แต่ละแชนเนลจะเชื่อมโยงกับ URL ที่ให้บริการเนื้อหาเฉพาะและการกำหนดค่าโฮสติ้ง
ไซต์โฮสติ้งทุกไซต์มีช่อง "สด" ที่ให้บริการเนื้อหาและการกำหนดค่าโฮสติ้งที่ (1) โดเมนย่อยที่จัดเตรียมโดย Firebase ของไซต์ ( SITE_ID .web.app
และ SITE_ID .firebaseapp.com
) และ (2) โดเมนแบบกำหนดเองที่ เชื่อมต่อใดๆ คุณยังสามารถเลือกที่จะสร้างช่อง "ดูตัวอย่าง" ที่ให้บริการเนื้อหาและการกำหนดค่าของตนเองที่ "ดูตัวอย่าง URL" ชั่วคราวที่แชร์ได้ ( SITE_ID -- CHANNEL_ID - RANDOM_HASH .web.app
)
เนื้อหาและการกำหนดค่าที่ให้บริการโดยแต่ละแชนเนลถูกบรรจุเป็นอ็อบเจ็กต์ เวอร์ชัน ที่มีตัวระบุเฉพาะ เมื่อคุณปรับใช้กับไซต์ของคุณ Firebase จะสร้างวัตถุ รุ่น ซึ่งชี้ไปที่เวอร์ชันเฉพาะ รุ่นประกอบด้วยข้อมูลเมตาเกี่ยวกับการปรับใช้ เช่น ใครปรับใช้และเมื่อพวกเขาปรับใช้
จาก แดชบอร์ดการโฮสต์ ของโครงการ Firebase คุณสามารถดูประวัติทั้งหมดของการเผยแพร่ช่องสดของคุณได้ในตาราง ประวัติการเผยแพร่ หากคุณมี ไซต์โฮสติ้งหลายไซต์ ให้คลิก ดู สำหรับไซต์ที่ต้องการเพื่อดูประวัติการเผยแพร่ หากคุณมีช่องแสดงตัวอย่าง ช่องเหล่านั้นจะแสดงบนแดชบอร์ดการโฮสต์ด้วย
จัดการการตั้งค่าของช่อง
สำหรับแต่ละช่องในไซต์ของคุณ คุณสามารถควบคุมการตั้งค่าได้ การตั้งค่าบางอย่าง เช่น การหมดอายุของช่อง จะใช้ได้กับช่องตัวอย่างเท่านั้น
จำกัดจำนวนการเผยแพร่เพื่อเก็บไว้
แต่ละครั้งที่คุณนำไปใช้กับช่อง (และสร้างรุ่น) โฮสติ้งจะเก็บเวอร์ชันที่เชื่อมโยงกับรุ่นก่อนหน้าในที่จัดเก็บโฮสติ้งของโครงการของคุณ คุณสามารถกำหนดจำนวนการเผยแพร่ที่จะเก็บไว้สำหรับ แต่ละช่อง ในโปรเจ็กต์ของคุณ ทั้งช่องถ่ายทอดสดและตัวอย่าง
เหตุใดโฮสติ้งจึงเก็บรุ่นก่อนหน้าไว้
สำหรับช่องถ่ายทอดสดของคุณ การเก็บรุ่นก่อนหน้าไว้จะช่วยให้คุณสามารถ ย้อนกลับ ไปยังไซต์รุ่นก่อนหน้าได้ หากจำเป็น สำหรับช่องตัวอย่างของคุณ การย้อนกลับยังไม่พร้อมใช้งานเหตุใดจึงต้องจำกัดจำนวนการวางจำหน่าย
คุณลักษณะนี้สามารถช่วยคุณควบคุมระดับการใช้งาน พื้นที่เก็บข้อมูลโฮสติ้งของโครงการ เนื่องจากเนื้อหาสำหรับรุ่นก่อนหน้าจะถูกเก็บไว้ในพื้นที่เก็บข้อมูลนี้ คุณสามารถตรวจสอบที่เก็บข้อมูลโฮสติ้งของคุณได้จาก แท็บที่ เก็บข้อมูล ในคอนโซลจะเกิดอะไรขึ้นเมื่อคุณจำกัดการเผยแพร่เพื่อเก็บไว้
เมื่อคุณกำหนดขีดจำกัดสำหรับการเผยแพร่ที่จะเก็บไว้ เนื้อหาของการเผยแพร่ใดๆ ที่เกินขีดจำกัดของคุณจะถูกกำหนดเวลาสำหรับการลบ โดย เริ่มจากการเผยแพร่ที่เก่าที่สุดก่อน
ต่อไปนี้คือวิธีตั้งค่าขีดจำกัดการวางจำหน่ายสำหรับช่องสัญญาณ:
ใน คอนโซล Firebase ให้เข้าถึงกล่องโต้ตอบการตั้งค่าที่เก็บข้อมูลรุ่น:
สำหรับช่องถ่ายทอดสดของคุณ
ในตาราง ประวัติการเผยแพร่ สำหรับไซต์ของคุณ ให้คลิก จากนั้นเลือก การตั้งค่าที่เก็บข้อมูลการเผยแพร่สำหรับช่องดูตัวอย่างใด ๆ
ในแถวของช่องแสดงตัวอย่าง ให้คลิก จากนั้นเลือก การตั้งค่าช่อง
ป้อนจำนวนรุ่นที่คุณต้องการเก็บไว้ จากนั้นคลิก บันทึก
กำหนดวันหมดอายุของช่องแสดงตัวอย่าง
ตามค่าเริ่มต้น ช่องแสดงตัวอย่างจะหมดอายุใน 7 วันนับจากวันที่สร้าง แต่ช่องถ่ายทอดสดของไซต์ของคุณจะไม่มีวันหมดอายุ
เมื่อช่องแสดงตัวอย่างหมดอายุ ช่องพร้อมกับการเผยแพร่และเวอร์ชันที่เกี่ยวข้องจะถูกกำหนดเวลาสำหรับการลบภายใน 24 ชั่วโมง URL ตัวอย่างที่เกี่ยวข้องจะถูกปิดใช้งานเช่นกัน ข้อยกเว้นสำหรับการลบเวอร์ชันนี้คือหากเวอร์ชันหนึ่งเชื่อมโยงกับรีลีสอื่น (สิ่งนี้จะเกิดขึ้น เช่น หากคุณลอกแบบเวอร์ชันจากแชนเนลหนึ่งไปยังอีกแชนเนลหนึ่ง ภายในไซต์เดียวกัน )
โฮสติ้งรองรับสองวิธีในการควบคุมการหมดอายุของช่อง:
คอนโซล Firebase
ในแถวของช่องแสดงตัวอย่าง ให้คลิก จากนั้นเลือก การตั้งค่าช่อง ป้อนวันที่และเวลาหมดอายุFirebase CLI
เมื่อคุณปรับใช้กับช่องแสดงตัวอย่างของคุณ ให้ส่ง--expires DURATION
ตัวอย่างเช่น:firebase hosting:channel:deploy new-awesome-feature --expires 7d
การหมดอายุอาจนานถึง 30 วันนับจากวันที่ปรับใช้ ใช้
h
สำหรับชั่วโมงd
สำหรับวัน และw
สำหรับสัปดาห์ (เช่น12h
,7d
,2w
ตามลำดับ)
โคลนเวอร์ชันจากช่องหนึ่งไปยังอีกช่องหนึ่ง
คุณสามารถโคลนเวอร์ชันที่ใช้งานจากช่องหนึ่งไปยังช่องอื่นได้ คุณสามารถโคลนข้ามช่องถ่ายทอดสดหรือช่องตัวอย่าง ข้ามไซต์โฮสติ้ง หรือแม้แต่ในโครงการ Firebase
คำสั่งโคลนยัง ปรับใช้ กับช่อง "เป้าหมาย" เพื่อให้เนื้อหาโฮสติ้งและการกำหนดค่าที่ลอกแบบมานั้นให้บริการโดยอัตโนมัติที่ URL ที่เกี่ยวข้องของช่อง "เป้าหมาย"
คุณลักษณะนี้มีประโยชน์สำหรับการติดตามเวอร์ชัน หรือหากคุณต้องการความมั่นใจว่าคุณกำลังปรับใช้เนื้อหา ที่ คุณเคยดูและ/หรือทดสอบในช่องอื่น นี่คือตัวอย่างบางส่วน:
โคลนจากช่องแสดงตัวอย่าง "QA" ไปยังช่องถ่ายทอดสดของไซต์ของคุณ (กำลังเผยแพร่!)
โคลนจากช่องสดของไซต์ของคุณไปยังช่องแสดงตัวอย่าง "แก้ไขจุดบกพร่อง" (เช่น ก่อนการย้อนกลับ)
โคลนจากแชนเนลในโครงการ Firebase "ที่กำลังจัดเตรียม" ของคุณไปยังแชนเนลตัวอย่างในโครงการ Firebase "prod" ของคุณ
หากต้องการโคลนเวอร์ชัน ให้รันคำสั่งต่อไปนี้จากไดเร็กทอรีใดก็ได้:
firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:TARGET_CHANNEL_ID
แทนที่ตัวยึดแต่ละตำแหน่งด้วยสิ่งต่อไปนี้:
SOURCE_SITE_ID และ TARGET_SITE_ID : คือ ID ของไซต์โฮสติ้งที่มีช่อง
- สำหรับไซต์โฮสติ้งเริ่มต้น ให้ใช้รหัสโปรเจ็กต์ Firebase
- คุณสามารถระบุไซต์โฮสติ้งที่อยู่ในโครงการ Firebase เดียวกัน หรือแม้แต่ในโครงการ Firebase ที่แตกต่างกัน
SOURCE_CHANNEL_ID และ TARGET_CHANNEL_ID : นี่คือตัวระบุสำหรับช่อง
- สำหรับช่องถ่ายทอดสด ให้ใช้
live
เป็นรหัสช่อง - หากยังไม่มีแชนเนล "เป้าหมาย" ที่ระบุ คำสั่งนี้จะสร้างแชนเนลก่อนที่จะปรับใช้
- สำหรับช่องถ่ายทอดสด ให้ใช้
เมื่อคุณลอกแบบเวอร์ชันจากช่องหนึ่งไปยังอีกช่องหนึ่ง ในไซต์โฮสติ้งเดียวกัน Firebase จะสร้างออบเจกต์รุ่นใหม่ที่ชี้ไป ที่เวอร์ชันเดียวกัน คุณจะเห็นสองรุ่นในไซต์โฮสติ้งของคุณที่ทั้งคู่ชี้ไปที่รุ่นเดียวกัน (ตามที่ระบุโดยรหัสรุ่น)
อย่างไรก็ตาม หากคุณลอกแบบเวอร์ชันไปยังแชนเนล ในไซต์โฮสติ้งอื่น (หรือโครงการ Firebase อื่น) Firebase จะสร้างทั้งรุ่นใหม่และเวอร์ชันใหม่ (ตามที่ระบุโดย ID เวอร์ชันอื่น)
ย้อนกลับไปยังไซต์เวอร์ชันก่อนหน้าของคุณ
คุณสามารถย้อนกลับเพื่อแสดงเวอร์ชันก่อนหน้าของช่องถ่ายทอดสดของไซต์ของคุณได้ การดำเนินการนี้มีประโยชน์หากรุ่นปัจจุบันของคุณมีปัญหา และคุณต้องการย้อนกลับเพื่อให้บริการไซต์ของคุณในเวอร์ชันที่ใช้งานได้ หรือบางทีไซต์ของคุณอาจให้บริการเนื้อหาชั่วคราวสำหรับวันหยุดหรือกิจกรรมพิเศษ แต่ตอนนี้คุณต้องการย้อนกลับเพื่อให้บริการเนื้อหา "ปกติ" ของคุณ
เมื่อย้อนกลับ คุณจะสร้างรุ่นใหม่ที่ให้บริการเนื้อหารุ่นเดียวกันกับรุ่นก่อนหน้า ในตาราง ประวัติรุ่น ของคุณ รุ่นทั้งสองจะแสดงตัวระบุรุ่นเดียวกัน
วิธีย้อนกลับมีดังนี้
ใน คอนโซล Firebase ในตาราง ประวัติการเผยแพร่ สำหรับไซต์ของคุณ ให้วางเมาส์เหนือรายการเผยแพร่ก่อนหน้าที่คุณต้องการย้อนกลับ
คลิก
จากนั้นเลือก ย้อนกลับ
ลบรุ่นด้วยตนเอง
คุณอาจต้องลบการเผยแพร่ออกจากช่องทางถ่ายทอดสดด้วยตนเองเพื่อเพิ่ม พื้นที่ว่างในการโฮสต์ สำหรับโปรเจ็กต์ของคุณ คุณสามารถลบได้เฉพาะรุ่นก่อนหน้าเท่านั้น ไม่สามารถลบรุ่นที่กำลังแสดงอยู่บนไซต์สดของคุณได้
เมื่อคุณลบรุ่น คุณกำลังลบเนื้อหาจริงซึ่งมีกำหนดการลบภายใน 24 ชั่วโมง ออบเจ็กต์การเผยแพร่นั้นถูกเก็บไว้เพื่อให้คุณยังคงเห็นข้อมูลเมตา (ใครปรับใช้และเมื่อใดที่ปรับใช้)
วิธีลบรุ่นมีดังนี้
ใน คอนโซล Firebase ในตาราง ประวัติการเผยแพร่ สำหรับไซต์ของคุณ ให้วางเมาส์เหนือรายการเผยแพร่ก่อนหน้าที่คุณต้องการลบ
คลิก
จากนั้นเลือก ลบ
ลบช่องแสดงตัวอย่างด้วยตนเอง
คุณสามารถลบช่องแสดงตัวอย่างได้ แต่ไม่สามารถลบช่องถ่ายทอดสดของไซต์ของคุณได้
เมื่อคุณลบช่องแสดงตัวอย่าง ช่องพร้อมกับการเผยแพร่และเวอร์ชันที่เกี่ยวข้องจะถูกกำหนดเวลาสำหรับการลบภายใน 24 ชั่วโมง URL ตัวอย่างที่เกี่ยวข้องจะถูกปิดใช้งานเช่นกัน ข้อยกเว้นสำหรับการลบเวอร์ชันคือหากเวอร์ชันหนึ่งเชื่อมโยงกับรีลีสอื่น (สิ่งนี้จะเกิดขึ้น เช่น หากคุณลอกแบบเวอร์ชันจากแชนเนลหนึ่งไปยังอีกแชนเนลหนึ่ง ภายในไซต์เดียวกัน )
โฮสติ้งรองรับสองวิธีในการลบช่องตัวอย่าง:
คอนโซล 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 \ | โคลนเวอร์ชันที่ใช้งานล่าสุดบนแชนเนล "ต้นทาง" ที่ระบุไปยังแชนเนล "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังปรับใช้กับช่อง "เป้าหมาย" ที่ระบุ หากยังไม่มีแชนเนล "เป้าหมาย" คำสั่งนี้จะสร้างแชนเนลแสดงตัวอย่างใหม่ในไซต์โฮสติ้ง "เป้าหมาย" ก่อนที่จะนำไปใช้กับแชนเนล |
firebase hosting:clone \ | โคลนเวอร์ชันที่ระบุไปยังช่อง "เป้าหมาย" ที่ระบุ คำสั่งนี้ยังปรับใช้กับช่อง "เป้าหมาย" ที่ระบุ หากยังไม่มีแชนเนล "เป้าหมาย" คำสั่งนี้จะสร้างแชนเนลแสดงตัวอย่างใหม่ในไซต์โฮสติ้ง "เป้าหมาย" ก่อนที่จะนำไปใช้กับแชนเนล คุณสามารถค้นหา |