Firebase App Hosting sử dụng Cloud Build để chuyển đổi mã nguồn ứng dụng của bạn thành đị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:
Chuyển vào: Thu thập mã nguồn và cấu hình ứng dụng.
Build (Tạo): Cài đặt các phần phụ thuộc và tạo ứng dụng.
Chuyển giao: Hoàn tất vùng chứa Cloud Run chính thức.
Ba bước này tương ứng trực tiếp với các bước xây dựng 1, 2 và 3 như hiển thị trong Cloud Build trong Google Cloud Console:
Giai đoạn nhập
Giai đoạn này chịu trách nhiệm xử lý logic tạo trước. Thư viện này đọc, dọn dẹp và ghi các biến môi trường do người dùng xác định. Phương thức này cũng huỷ tham chiếu và ghim mọi khoá bí mật được chỉ định trong tệp apphosting.yaml
.
Giai đoạn xây dựng
Đây là cốt lõi của quá 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ông cụ này sử dụng Cloud Native Buildpacks để đóng gói ứng dụng một cách hiệu quả. Bạn có thể xem thêm thông tin về tệp bundle.yaml
trên github.
Gói xây dựng 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 để phát hành công khai. Firebase App Hosting liên kết nhiều gói bản dựng với nhau để hoàn tất quy trình xây dựng:
- Gói xây dựng thời gian chạy: Đảm bảo 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.
- Gói bản dựng Monorepo: Định cấu hình các gói bản dựng tiếp theo để xử lý nhiều tình huống monorepo.
Framework Buildpack (Gói xây dựng khung): Cài đặt bộ chuyển đổi khung phù hợp (chẳng hạn như Angular hoặc Next.js) và chuẩn bị các gói xây dựng tiếp theo.
Bộ chuyển đổi khung chịu trách nhiệm chạy lệnh bản dựng được sản xuất và liên kết mọi giá trị cấu hình cụ thể liên quan đến khung với một định dạng chuẩn mà App Hosting có thể đọc được.
Package Manager Buildpack (Gói quản lý bản dựng): Thực thi việc cài đặt các phần phụ thuộc và tạo ứng dụng bằng npm, yarn hoặc pnpm.
Buildpack Gói đầu ra: Xác định lệnh chạy và chuẩn bị gói đầu ra để thực thi.
Giai đoạn chuyển giao
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 của ứng dụng cùng với hình ảnh vùng chứa bản dựng và gửi thông tin đó đến phần phụ trợ App Hosting. Sau đó, phần phụ trợ App Hosting sẽ sử dụng thông tin này để thiết lập Cloud Run bằng các cấu hình thích hợp.
Tìm hiểu thêm
Toàn bộ quá trình xây dựng App Hosting đều là nguồn mở.
- Mã gói xây dựng nằm trong kho lưu trữ gói xây dựng 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ề gói bản dựng gốc trên đám mây và Cloud Build