Firebase App Hosting sử dụng Cloud Build để chuyển đổi mã nguồn ứng dụng của bạn thành một định dạng vùng chứa phù hợp để triển khai trên Cloud Run.
Quy trình xây dựng hoạt động thông qua các giai đoạn chính sau:
ubuntu: Khởi chạy không gian làm việc.
preparer: Thu thập mã nguồn và cấu hình ứng dụng của bạn.
pre-buildpack: Chuẩn bị môi trường buildpack.
build: Cài đặt các phần phụ thuộc và xây dựng ứng dụng của bạn.
publisher: Hoàn tất vùng chứa sản xuất Cloud Run.
Năm bước này tương ứng trực tiếp với các bước xây dựng như trong Cloud Build trong bảng điều khiển Google Cloud:

Khởi chạy không gian làm việc
Giai đoạn này tương ứng với bước xây dựng ubuntu. Giai đoạn này khởi chạy không gian làm việc xây dựng, đảm bảo rằng các quyền đối với tệp chính xác được đặt cho các thư mục mà các bước xây dựng tiếp theo sử dụng.
Preparer
Giai đoạn này chịu trách nhiệm xử lý logic trước khi xây dựng. Giai đoạn này đọc, làm sạch và ghi các biến môi trường do người dùng xác định. Giai đoạn này cũng huỷ tham chiếu và ghim mọi bí mật được chỉ định trong tệp apphosting.yaml.
Pre-buildpack
Bước này chuẩn bị môi trường cho Cloud Native Buildpacks vòng đời. Bước này liên quan đến việc chạy một shim (lớp tương thích) giúp chuyển đổi các cấu hình và biến môi trường được chuẩn bị ở giai đoạn trước thành định dạng mà các công cụ CNB mong đợi.
Build
Đây là cốt lõi của quy trình xây dựng, chịu trách nhiệm tạo hình ảnh vùng chứa có thể chạy và tệp bundle.yaml xác định cấu hình bản dựng của bạn.
Giai đoạn này sử dụng Cloud Native Buildpacks
và tệp nhị phân trình tạo vòng đời
để đóng gói ứng dụng
một cách hiệu quả. Bạn có thể tìm thêm thông tin về tệp bundle.yaml trên GitHub.
Buildpack chịu trách nhiệm chuyển đổi mã nguồn ứng dụng của bạn thành hình ảnh vùng chứa sẵn sàng cho quá trình sản xuất. Firebase App Hosting xâu chuỗi một số buildpack để hoàn tất quy trình xây dựng:
- Runtime Buildpack: Đảm bảo rằng tất cả các thành phần cần thiết để chạy ứng dụng Node.js cơ bản đều được đưa vào và các phần phụ thuộc được cài đặt.
- Monorepo Buildpack: Định cấu hình các buildpack tiếp theo để xử lý các tình huống monorepo khác nhau.
Framework Buildpack: Cài đặt bộ chuyển đổi khung chính xác (như Angular hoặc Next.js) và chuẩn bị các buildpack tiếp theo.
Bộ chuyển đổi khung chịu trách nhiệm chạy lệnh xây dựng đã sản xuất hoá và liên kết mọi giá trị cấu hình dành riêng cho khung có liên quan với định dạng tiêu chuẩn mà App Hosting có thể đọc được.
Package Manager Buildpack: Thực thi quá trình cài đặt các phần phụ thuộc và xây dựng ứng dụng bằng npm, yarn hoặc pnpm.
Output Bundle Buildpack: Xác định lệnh chạy và chuẩn bị gói đầu ra để thực thi.
Publisher
Giai đoạn cuối cùng này đóng gói tất cả thông tin được trích xuất từ mã nguồn ứng dụng cùng với hình ảnh vùng chứa bản dựng và gửi đến App Hosting phần phụ trợ. Sau đó, phần phụ trợ App Hosting sử dụng thông tin này để thiết lập Cloud Run với các cấu hình thích hợp.
Tìm hiểu thêm
Toàn bộ quy trình xây dựng App Hosting là nguồn mở.
- Mã buildpack nằm trong kho lưu trữ buildpack của Google Cloud
- Mã cho bộ chuyển đổi khung nằm trong kho lưu trữ firebase-framework-tools
- Tìm hiểu thêm về buildpack Cloud Native và Cloud Build