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