Quy trình xây dựng App Hosting

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 đóng gói phù hợp để triển khai trên Cloud Run.

Quy trình xây dựng hoạt động qua các giai đoạn chính sau:

  1. ubuntu: Khởi chạy Workspace.

  2. preparer: Thu thập mã nguồn và cấu hình ứng dụng của bạn.

  3. pre-buildpack: Chuẩn bị môi trường buildpack.

  4. build: Cài đặt các phần phụ thuộc và tạo ứng dụng của bạn.

  5. publisher: Hoàn tất vùng chứa Cloud Run sản xuất.

Năm bước này tương ứng trực tiếp với các bước tạo như xuất hiện trong Cloud Build trong Bảng điều khiển Google Cloud:

Ảnh chụp màn hình chế độ xem Cloud Build trên bảng điều khiển Google Cloud

Khởi tạo không gian làm việc

Giai đoạn này tương ứng với bước tạo ubuntu. Thao tác này sẽ khởi tạo không gian làm việc bản dựng, đảm bảo rằng các quyền truy cập tệp chính xác được đặt cho các thư mục mà các bước bản dựng tiếp theo sử dụng.

Người chuẩn bị

Giai đoạn này chịu trách nhiệm xử lý logic trước khi tạo. 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. Thư việ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 vòng đời Cloud Native Buildpacks. Việc này liên quan đến việc chạy một shim để dịch 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.

Bản dựng

Đây là cốt lõi của quy trình xây dựng, chịu trách nhiệm tạo một hình ảnh vùng chứa có thể chạy và một tệp bundle.yaml xác định cấu hình bản dựng của bạn. Công cụ 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 sản xuất. Firebase App Hosting kết hợp nhiều gói bản dựng để hoàn tất quy trình xây dựng:

  1. Runtime Buildpack: Đảm bảo rằng tất cả các thành phần cần thiết để chạy một ứng dụng Node.js cơ bản đều được đưa vào và các phần phụ thuộc đều được cài đặt.
  2. 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.
  3. Framework Buildpack: 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 buildpack tiếp theo.

    Bộ chuyển đổi khung chịu trách nhiệm chạy lệnh tạo bản dựng được sản xuất và liên kết mọi giá trị cấu hình cụ thể của khung có liên quan với định dạng tiêu chuẩn mà App Hosting có thể đọc được.

  4. Package Manager Buildpack: Thực thi quá trình cài đặt các phần phụ thuộc và tạo ứng dụng bằng npm, yarn hoặc pnpm.

  5. Gói bản dựng đầu ra: Xác định lệnh chạy và chuẩn bị gói đầu ra để thực thi.

Nhà xuất bản

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 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 với cấu hình phù hợp.

Tìm hiểu thêm

Toàn bộ quy trình xây dựng App Hosting đều là nguồn mở.