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