โดยส่วนใหญ่ เราขอแนะนำให้ใช้การเปิดตัวอัตโนมัติหรือการเปิดตัวที่ทริกเกอร์ด้วยตนเอง จากคอนโซล Firebase อย่างไรก็ตาม คุณอาจต้องใช้ขั้นตอนการติดตั้งใช้งานที่ปรับแต่งเพิ่มเติม App Hosting มีตัวเลือกหลายรายการสำหรับการติดตั้งใช้งานที่กำหนดเอง
ติดตั้งใช้งานจากแหล่งที่มา
การติดตั้งใช้งานจากแหล่งที่มาช่วยให้คุณพุชซอร์สโค้ดและการกำหนดค่าของแอปพลิเคชันไปยัง App Hosting ได้โดยตรงโดยไม่ต้องเชื่อมต่อ GitHub อย่างต่อเนื่อง
เมื่อทำการติดตั้งใช้งานจากแหล่งที่มา App Hosting จะอัปโหลดซอร์สโค้ดไปยัง Bucket ของ Google Cloud Storage เรียกใช้คำสั่งบิลด์ของเฟรมเวิร์กใน Cloud Build และติดตั้งใช้งานอาร์ติแฟกต์ที่คอมไพล์แล้วไปยัง Cloud Run และ Cloud CDN กระบวนการบิลด์เดียวกันนี้ใช้สำหรับการติดตั้งใช้งานแหล่งข้อมูลในเครื่อง
เช่นเดียวกับการติดตั้งใช้งาน GitHub หากมี.gitignoreไฟล์ในโปรเจ็กต์ ระบบจะยกเว้นไฟล์และโฟลเดอร์ที่แสดงอยู่ในไฟล์ดังกล่าวจากการ
ติดตั้งใช้งาน
คุณสามารถทําการติดตั้งใช้งานจากแหล่งที่มาในเครื่องได้โดยใช้ Firebase CLI หรือFirebase คอนโซล
สิทธิ์ IAM และการตั้งค่าโครงสร้างพื้นฐานที่จำเป็น
เนื่องจากทั้ง Firebase CLI และคอนโซล Firebase ใช้โครงสร้างพื้นฐานส่วนหลังเดียวกันเพื่อจัดเก็บและสร้างที่เก็บถาวรของแหล่งที่มา ข้อกำหนดด้านสิทธิ์ IAM เดียวกัน จึงใช้กับวิธีการติดตั้งใช้งานทั้ง 2 วิธี
ข้อกำหนดที่แน่นอนจะขึ้นอยู่กับว่าคุณกำลังติดตั้งใช้งานในสถานที่ตั้ง (ภูมิภาค) ที่เฉพาะเจาะจงเป็นครั้งแรกหรือไม่ ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ได้ที่ ภาพรวมของ Firebase IAM และสิทธิ์ของ Firebase App Hosting โดยเฉพาะ
สิทธิ์สำหรับการเริ่มต้นใช้งานครั้งแรก (การติดตั้งใช้งานครั้งแรกในสถานที่)
เมื่อเริ่มการติดตั้งใช้งานแหล่งข้อมูลในเครื่องในตำแหน่งโปรเจ็กต์เป็นครั้งแรก Hosting ต้องจัดสรรที่เก็บข้อมูล GCS เพื่อจัดเก็บที่เก็บถาวรและให้สิทธิ์เข้าถึงแก่ Agent บริการ Hosting เพื่อเข้าถึงที่เก็บถาวรดังกล่าว เนื่องจากเป็นงานด้านการดูแลระบบระดับโปรเจ็กต์ จึงต้องมีสิทธิ์เจ้าของโปรเจ็กต์หรือผู้ดูแลระบบ IAM ผู้ใช้ที่มีบทบาทเป็นผู้แก้ไขหรือผู้ดูขั้นพื้นฐานจะทำการตั้งค่าเริ่มต้นนี้ไม่ได้และจะถูกบล็อก
สิทธิ์ในการตั้งค่าเบื้องต้น ได้แก่
- เปิดใช้ Storage API:
serviceusage.services.enable - สร้างที่เก็บข้อมูลต้นทาง:
storage.buckets.createและstorage.buckets.list - กำหนดค่าตัวแทนบริการ:
resourcemanager.projects.setIamPolicyเพื่อให้สิทธิ์ Hostingการอ่าน (roles/storage.objectViewer) เพื่อให้ดึงข้อมูล โค้ดที่อัปโหลดระหว่างการสร้างได้
สำหรับการติดตั้งใช้งานครั้งแรก ระบบจะสร้างที่เก็บข้อมูล GCS ที่มีวงจร 30 วัน จากนั้นจะลบที่เก็บข้อมูล อย่างไรก็ตาม คุณสามารถจัดการกรอบเวลานี้ได้ในคอนโซลระบบคลาวด์ใน Cloud Storage -> Buckets -> วงจรของออบเจ็กต์ -> กฎ ดูจัดการวงจร ออบเจ็กต์
สิทธิ์สำหรับการติดตั้งใช้งานในภายหลัง (หลังจากเริ่มต้นตำแหน่งแล้ว)
เมื่อเริ่มต้นใช้งานที่เก็บข้อมูลต้นทางและการเชื่อมโยงบทบาทสำหรับตำแหน่งแล้ว (โดยการติดตั้งใช้งาน CLI ครั้งแรกหรือการตั้งค่าคอนโซล) นักพัฒนาแอปทั่วไป เอดิเตอร์ หรือApp Hostingผู้ดูแลระบบจะติดตั้งใช้งานการอัปเดตได้ ไม่จำเป็นต้องมีสิทธิ์การดูแลระบบระดับโปรเจ็กต์ สำหรับการติดตั้งใช้งานตามปกติ
สิทธิ์ในการติดตั้งใช้งานที่ใช้งานอยู่มีดังนี้
- ยืนยันที่เก็บข้อมูล:
storage.buckets.list - อัปโหลดที่เก็บถาวรของแหล่งที่มา:
storage.objects.create - ทริกเกอร์บิลด์และการเปิดตัว: สิทธิ์มาตรฐานของ Hosting (
apphosting.builds.createและapphosting.rollouts.create)
ทําให้ใช้งานได้จากแหล่งที่มาด้วย Firebase CLI
Firebase CLI v14.4.0 ขึ้นไป ช่วยให้คุณพุชซอร์สโค้ดและการกำหนดค่าของแอปจากเครื่องในเครื่อง ไปยัง Firebase ได้โดยตรง ซึ่งจะสะดวกหากคุณจัดการการติดตั้งใช้งาน Firebase อื่นๆ อยู่แล้ว (เช่น กฎความปลอดภัยหรือฟังก์ชัน) และต้องการติดตั้งใช้งานเว็บแอปและบริการแบ็กเอนด์พร้อมกันด้วยคำสั่ง CLI เดียว
ข้อกำหนดเบื้องต้น
- โปรเจ็กต์ต้องใช้แพ็กเกจ Blaze
- คุณต้องใช้ firebase-tools เวอร์ชัน 14.4.0 ขึ้นไป
ขั้นตอนการติดตั้งใช้งาน
- เรียกใช้
firebase init apphostingในไดเรกทอรีโปรเจ็กต์ที่อยู่ในเครื่อง - เมื่อระบบแจ้ง ให้เลือกใช้โปรเจ็กต์ที่มีอยู่ แล้วเลือกโปรเจ็กต์ Firebase เป้าหมาย
- เลือกแบ็กเอนด์ใหม่หรือที่มีอยู่เพื่อนำไปใช้ ขั้นตอนนี้จะตั้งค่าการติดตั้งใช้งาน Hosting สำหรับไดเรกทอรีในเครื่องและแจ้งให้คุณระบุรายละเอียดการกำหนดค่า
- รหัสของแบ็กเอนด์ที่จะนำไปใช้งาน
- ภูมิภาคที่จะติดตั้งใช้งาน หากสร้างแบ็กเอนด์ใหม่
- เส้นทางไปยังไดเรกทอรีรากของโค้ดของแอปพลิเคชัน
- รันไทม์ Node.js ที่ต้องการ การเลือกรันไทม์ที่กำหนดเวอร์ชันจะเปิดใช้ การอัปเดตอิมเมจพื้นฐานอัตโนมัติ (ABIU) เพื่อใช้แพตช์ด้านความปลอดภัยกับสภาพแวดล้อมพื้นฐานโดยอัตโนมัติ
- App Hosting จะบันทึกค่ากำหนดการติดตั้งใช้งานใน
firebase.jsonสร้างไฟล์ในโปรเจ็กต์ที่อยู่ในเครื่องหากยังไม่มี เมื่อการเริ่มต้นเสร็จสมบูรณ์แล้ว ให้เรียกใช้firebase deployเพื่อติดตั้งใช้งาน ซอร์สโค้ด
ตัวอย่าง firebase.json
{
"apphosting": [
{
"backendId": "my-backend",
// rootDir specifies the directory containing the app to deploy, but the entire
// parent directory of firebase.json will be zipped and uploaded to ensure that
// dependencies outside of the app directory will be available at build time.
"rootDir": "./my-app",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions"
]
}
]
}
ทําให้ใช้งานได้ด้วยคอนโซล Firebase (การอัปโหลด ZIP)
Firebase คอนโซลมีอินเทอร์เฟซแบบกราฟิกสําหรับการติดตั้งใช้งาน แอปพลิเคชันโดยการอัปโหลดที่เก็บต้นฉบับที่บีบอัดโดยตรง ซึ่งเป็นทางเลือกแทนขั้นตอนการเชื่อมต่อ GitHub ในกรณีที่คุณไม่ต้องการใช้ GitHub หรือต้องการใช้การตั้งค่า CI/CD อื่น
คุณสามารถอัปโหลดไฟล์ที่เก็บถาวรได้ในระหว่างการสร้างแบ็กเอนด์ครั้งแรกหรือเมื่อสร้างการเปิดตัวด้วยตนเองในแบ็กเอนด์ที่มีอยู่ ซึ่งรวมถึงแบ็กเอนด์ที่เดิมทีมีการติดตั้งใช้งานโดยใช้ Firebase CLI
รูปแบบที่รองรับ
โปรแกรมอัปโหลดคอนโซลจะตรวจสอบและยอมรับไฟล์ที่บีบอัดถาวร 2 รูปแบบโดยค่าเริ่มต้น
.zip.tgz
รูปแบบเหล่านี้จะแสดงอย่างชัดเจนในข้อความคำอธิบายของโปรแกรมอัปโหลดไฟล์
ขั้นตอนการติดตั้งใช้งาน
ตัวเลือก ก: ระหว่างการเริ่มต้นใช้งานแบ็กเอนด์ครั้งแรก
- เลือกแหล่งที่มา: ในวิซาร์ดการสร้างแบ็กเอนด์ ให้เลือกอัปโหลด ZIP ในขั้นตอน "คุณต้องการนําเข้าแอปอย่างไร"
- การเตรียมความพร้อมในการเริ่มต้นใช้งาน: การคลิก "ถัดไป" จะทริกเกอร์โฟลว์การเตรียมความพร้อมเบื้องหลัง ซึ่งจะเปิดใช้ Storage API ตามลำดับ ตรวจสอบว่าได้ตั้งค่าบทบาทที่ถูกต้องแล้ว และอัปเดตหรือแทรกข้อมูลใหม่ในที่เก็บข้อมูล UI จะแสดงวงกลมโหลด
พร้อมข้อความสถานะแบบไดนามิก "เปิดใช้ API..." "กำลังตรวจสอบ
สิทธิ์..." และ "กำลังเตรียมที่เก็บข้อมูล..."
- การจัดการข้อผิดพลาดและแนวทาง: หากขั้นตอนการเตรียมการใดล้มเหลว (เช่น
ผู้ที่ไม่ใช่เจ้าของได้รับ
403 PERMISSION_DENIEDเนื่องจากสิทธิ์ IAM ไม่เพียงพอ ) UI จะแสดงคำเตือนเฉพาะที่แนะนำให้คุณติดต่อ เจ้าของโปรเจ็กต์ การนำทางแบบทีละขั้นจะถูกล็อกอย่างเข้มงวด และปุ่ม "ถัดไป" และ "เสร็จสิ้นและติดตั้งใช้งาน" สุดท้ายจะยังคงปิดใช้ไว้จนกว่าปัญหาจะได้รับการแก้ไข
- การจัดการข้อผิดพลาดและแนวทาง: หากขั้นตอนการเตรียมการใดล้มเหลว (เช่น
ผู้ที่ไม่ใช่เจ้าของได้รับ
- อัปโหลดไฟล์: เมื่อเตรียมข้อมูลเสร็จสมบูรณ์แล้ว ให้เลือกหรือลาก ไฟล์เก็บถาวรลงในคอมโพเนนต์โปรแกรมอัปโหลดไฟล์
กำหนดการตั้งค่า: ระบุไดเรกทอรีรากของแอป (ค่าเริ่มต้นคือ
/)คลิกเสร็จสิ้นและติดตั้งใช้งาน: ระบบจะปิดใช้ปุ่ม "เสร็จสิ้น" แบบสแตนด์อโลนสำหรับการอัปโหลด ไฟล์ zip เนื่องจากอัปโหลดไฟล์เก็บถาวรเป็นการดำเนินการแบบครั้งเดียวและต้อง ตามด้วยการติดตั้งใช้งานทันทีเพื่อให้มั่นใจว่าแบ็กเอนด์จะทำงานได้
ตัวเลือก ข: การสร้างการเปิดตัวด้วยตนเอง
- เปิดกล่องโต้ตอบ: ในแดชบอร์ด Hosting ให้คลิกสร้างการเปิดตัว
- เลือกแหล่งที่มา: เลือกอัปโหลด ZIP ใน Stepper ของกล่องโต้ตอบ หากแบ็กเอนด์ไม่มีการเชื่อมต่อ GitHub อยู่แล้ว ตัวเลือก "GitHub" จะถูกปิดใช้
- การเตรียมและการอัปโหลด: การเลือกจะทริกเกอร์โฟลว์การเตรียมข้อมูลเบื้องหลังเดียวกัน ("การเปิดใช้ API..." "กำลังตรวจสอบสิทธิ์..." และ "กำลังเตรียม Bucket...") เมื่อดำเนินการสำเร็จแล้ว ให้ลากหรือเลือกไฟล์ที่เก็บถาวรโดยใช้โปรแกรมอัปโหลด ระบุไดเรกทอรีรากของแอป แล้วคลิกติดตั้งใช้งาน เพื่อทริกเกอร์การสร้างและการเปิดตัว
ทำให้ใช้งานได้โดยใช้ Terraform
หากต้องการควบคุมกระบวนการบิลด์และสภาพแวดล้อมที่ใช้งานจริงได้มากขึ้น คุณ สามารถทําการติดตั้งใช้งานโดยใช้ Terraform ได้ Terraform ช่วยให้คุณกำหนดและจัดการApp Hostingทรัพยากรโดยใช้ไฟล์การกำหนดค่าแบบประกาศ และช่วยให้คุณสามารถ App Hostingปรับใช้คอนเทนเนอร์อิมเมจที่สร้างไว้ล่วงหน้าของคุณเองได้โดยตรงแทนที่จะต้องพึ่งพา App Hosting ในการสร้างจากซอร์สโค้ด
หากคุณเพิ่งเริ่มใช้ Terraform โปรดดูเริ่มต้นใช้งาน Terraform และ Firebase หากคุ้นเคยกับ Terraform อยู่แล้ว คุณสามารถเริ่มต้นใช้งานได้ด้วยไฟล์การกำหนดค่าตัวอย่างและApp Hostingทรัพยากรอื่นๆ
ตั้งค่าการเชื่อมต่อ GitHub สำหรับ CI/CD
คุณมีตัวเลือก ในการเชื่อมต่อที่เก็บ GitHub ได้ทุกเมื่อในแท็บการติดตั้งใช้งานของการตั้งค่าแบ็กเอนด์ในคอนโซล Firebase ซึ่งจะช่วยให้คุณ ติดตั้งใช้งานต้นแบบแอปจากสภาพแวดล้อมในเครื่อง แล้วเปลี่ยนไปใช้ไปป์ไลน์ CI/CD อัตโนมัติเมื่อพร้อม
ติดตั้งใช้งานโดยใช้เครื่องมือ AI
เราจะหยุดให้บริการ Firebase Studio ในวันที่ 22 มีนาคม 2027 แม้ว่าApp Hostingแบ็กเอนด์จะไม่ได้รับผลกระทบ แต่เราจะหยุดให้บริการปุ่มเผยแพร่ในFirebase Studio หากต้องการเผยแพร่การอัปเดตต่อไปโดยไม่ต้องเปลี่ยน URL ให้ย้ายข้อมูลโปรเจ็กต์ ดูวิธีย้ายข้อมูล