App Hosting xử lý một loạt các tác vụ phức tạp ở chế độ nền để đơn giản hoá việc triển khai ứng dụng. Trang này mô tả các phần chính của luồng tác vụ đó, cung cấp thông tin về những điểm bạn có thể muốn tuỳ chỉnh luồng tuỳ thuộc vào nhu cầu của ứng dụng.
Kiến trúc Google Cloud và App Hosting
App Hosting điều phối một nhóm sản phẩm của Google Cloud để bạn có thể triển khai, phân phát và theo dõi ứng dụng web. Các ứng dụng được tạo bằng Cloud Build, phân phát trên Cloud Run và lưu vào bộ nhớ đệm trong Cloud CDN. Các dịch vụ tích hợp như Trình quản lý bí mật trên đám mây giúp bảo mật khoá API của bạn.

- Khi một thay đổi được đẩy vào nhánh đang hoạt động, Google Cloud Developer Connect sẽ gửi một sự kiện đến Firebase App Hosting.
- Để phản hồi sự kiện này, Firebase App Hosting sẽ bắt đầu một bản phát hành mới cho mỗi phần phụ trợ được kết nối với kho lưu trữ.
- Firebase App Hosting tạo một bản dựng Cloud Build mới cho tệp cam kết của bạn. Trong công việc này, gói bản dựng Google Cloud sẽ xác định khung nào đang được sử dụng trong ứng dụng của bạn để tạo một vùng chứa và cấu hình (bao gồm các biến môi trường, thông tin bảo mật, thực thể tối thiểu hoặc tối đa, bộ nhớ đồng thời, CPU và cấu hình VPC) phù hợp với ứng dụng của bạn.
- Sau khi công việc Cloud Build hoàn tất, vùng chứa của bạn sẽ được lưu trữ trong một kho lưu trữ Artifact Registry dành riêng cho Firebase App Hosting. Sau đó, Firebase App Hosting sẽ thêm Bản sửa đổi Cloud Run mới vào dịch vụ Cloud Run bằng hình ảnh và cấu hình của bạn. Sau khi xác minh rằng Bản sửa đổi Cloud Run của bạn đang hoạt động tốt, Firebase App Hosting sẽ sửa đổi cấu hình lưu lượng truy cập để trỏ tất cả các yêu cầu mới đến Bản sửa đổi Cloud Run mới. Tại thời điểm này, quá trình triển khai đã hoàn tất.
- Khi một yêu cầu được gửi đến một trang web được lưu trữ trên Firebase App Hosting, yêu cầu đó sẽ được Trình cân bằng tải của Google Cloud phân phát khi bật Cloud CDN. Các yêu cầu không được lưu vào bộ nhớ đệm sẽ được gửi đến dịch vụ Cloud Run.
Tích hợp khung
App Hosting cung cấp tính năng hỗ trợ tạo bản dựng và triển khai được định cấu hình sẵn cho các ứng dụng web được phát triển trong các khung sau:
- Next.js 13.5.x trở lên
- Angular 18.2.x trở lên
Hãy xem lịch hỗ trợ để biết thông tin chi tiết về các phiên bản và cấp độ hỗ trợ cụ thể.
Ngoài Next.js và Angular, App Hosting cũng hỗ trợ mọi khung web có thể cung cấp đầu ra bản dựng khớp với quy cách gói đầu ra của chúng tôi. Hãy xem phần Khung và công cụ cho App Hosting để biết thêm thông tin về các khung, bộ chuyển đổi khung và công cụ liên quan do App Hosting hỗ trợ.
Cách hoạt động của tính năng tích hợp kho lưu trữ App Hosting
Mối liên kết quan trọng giữa kho lưu trữ GitHub và phần phụ trợ App Hosting được xử lý bằng Developer Connect, nền tảng kết nối của Google Cloud cho các công cụ DevOps bên ngoài. Trong quá trình tạo phần phụ trợ App Hosting, quy trình làm việc trên giao diện người dùng của Developer Connect sẽ hướng dẫn bạn cài đặt ứng dụng GitHub Firebase. Các bước chính trong quy trình này là:
- Bạn cấp cho Developer Connect vai trò Quản trị viên của Trình quản lý bí mật. Điều này cho phép hệ thống lưu trữ thông tin xác thực một cách an toàn dưới dạng "bí mật" trong Trình quản lý bí mật trên đám mây.
- Bạn cho phép ứng dụng GitHub của Firebase truy cập vào kho lưu trữ GitHub của bạn.
- Developer Connect lưu trữ một mã thông báo uỷ quyền GitHub chuyên dụng trong kho lưu trữ trình quản lý bí mật của dự án; đừng sửa đổi hoặc xoá mã thông báo này.
Ngoài ra, App Hosting tích hợp với API kiểm tra GitHub để cung cấp tính năng kiểm tra các bản phát hành. Bước kiểm tra này cho phép bạn xem trạng thái triển khai trong GitHub và gỡ lỗi quá trình triển khai trong trường hợp có lỗi.
Tích hợp với Firebase và các dịch vụ khác của Google
App Hosting thiết lập cả môi trường bản dựng và môi trường thời gian chạy để bạn có thể khởi chạy SDK Quản trị Firebase bằng Thông tin xác thực mặc định của ứng dụng Google. Bằng cách đó, phần phụ trợ của bạn có thể giao tiếp với các sản phẩm Firebase khác ở cả thời gian xây dựng và thời gian chạy. Hãy xem phần Tích hợp SDK Firebase vào ứng dụng web để biết thêm thông tin về cách khởi chạy ứng dụng và các chủ đề khác liên quan đến SDK Firebase.
App Hosting địa điểm
App Hosting tạo tài nguyên phụ trợ ở một vị trí cụ thể, được gọi là khu vực chính. Mặc dù App Hosting tích hợp với một CDN toàn cầu để phân phối nhanh, nhưng nội dung không được lưu vào bộ nhớ đệm sẽ được phân phát từ khu vực chính của ứng dụng. Tính linh hoạt này trong vị trí của ứng dụng web mang lại các lợi thế chính:
- Cải thiện hiệu suất và giảm độ trễ bằng cách đưa dữ liệu về vị trí gần người dùng hơn.
- Lỗi nghiêm trọng đối với App Hosting ở một khu vực sẽ không ảnh hưởng đến các ứng dụng web được triển khai ở các khu vực khác.
Bạn có thể chọn bất kỳ khu vực nào trong số này khi tạo phần phụ trợ App Hosting từ bảng điều khiển hoặc CLI Firebase:
us-central1
(Iowa)asia-east1
(Đài Loan)europe-west4
(Hà Lan)
Tài khoản dịch vụ phụ trợ App Hosting
Trong quá trình xây dựng và trong thời gian chạy, phần phụ trợ App Hosting sẽ xác thực với các dịch vụ khác của Google bằng một tài khoản dịch vụ. Tài khoản dịch vụ mặc định cho các mục đích này được tạo trong lần đầu tiên bạn bật App Hosting trong dự án Firebase:
firebase-app-hosting-compute@PROJECT ID.iam.gserviceaccount.com
Theo mặc định, tài khoản dịch vụ này áp dụng cho tất cả phần phụ trợ và có một nhóm quyền tối thiểu để cho phép bạn tạo, chạy và giám sát ứng dụng. Tài khoản này cũng có quyền xác thực SDK quản trị bằng Thông tin xác thực mặc định của ứng dụng để thực hiện các thao tác như tải dữ liệu từ Cloud Firestore. Xem các vai trò App Hosting của Firebase.
Nếu ứng dụng của bạn cần tương tác với các dịch vụ bổ sung của Google tại thời điểm tạo bản dựng hoặc từ một phần phụ trợ đang chạy, bạn có thể tuỳ chỉnh tài khoản dịch vụ mặc định bằng cách thêm vai trò. Ví dụ: nếu ứng dụng của bạn yêu cầu quyền cho Vertex AI, bạn có thể cần thêm roles/aiplatform.user
hoặc một số vai trò liên quan.
Các thuật ngữ và định nghĩa chính
- Phần phụ trợ: Tập hợp các tài nguyên được quản lý mà App Hosting tạo để tạo và chạy ứng dụng web.
- Bản phát hành: Một phiên bản cụ thể của ứng dụng đang hoạt động, được liên kết với một thay đổi trong git.
- Nhánh trực tiếp: Nhánh của kho lưu trữ GitHub được triển khai đến URL trực tiếp. Thường thì đó là nhánh mà các nhánh tính năng hoặc nhánh phát triển được hợp nhất.