Dịch vụ Lưu trữ ứng dụng xử lý một loạt các tác vụ phức tạp ở chế độ nền để đơn giản hoá triển khai ứng dụng của bạn. Trang này mô tả các phần chính của quy trình tác vụ đó, cung cấp thông tin về những điểm mà bạn có thể muốn tuỳ chỉnh luồng tuỳ theo nhu cầu của ứng dụng.
Hỗ trợ khung
Tính năng Lưu trữ ứng dụng cung cấp tính năng hỗ trợ triển khai và xây dựng không cần cấu hình cho các ứng dụng web được phát triển bằng các khung làm việc sau:
- Next.js 13 trở lên
- Góc 17.2 trở lên
Dịch vụ Lưu trữ ứng dụng xác định khung bạn đang sử dụng bằng cách kiểm tra
Tệp package-lock.json
hoặc tệp khoá khác trong kho lưu trữ của bạn. Nếu bạn cố gắng
triển khai ứng dụng Node.js bị thiếu tệp khoá, thì tính năng Lưu trữ ứng dụng sẽ không thể
tạo và chạy ứng dụng của bạn. Bạn có thể tạo package-lock.json
bằng cách chạy npm
install
trong thư mục gốc.
Bộ chuyển đổi khung Lưu trữ ứng dụng có hai vai trò chính:
- Các tiện ích này phân tích cú pháp mã nguồn và mọi tệp cấu hình theo khung cụ thể (chẳng hạn như
next.config.js
) để tìm hiểu hành vi được định cấu hình của ứng dụng. - Các phương thức này chạy lệnh tạo của ứng dụng để tạo thành phần tĩnh và phiên bản tối ưu hoá của ứng dụng để phát hành công khai.
Bộ chuyển đổi khung giúp tạo ứng dụng Node.js bằng npm run build
. Bộ chuyển đổi này hoạt động hiệu quả nhất
bằng các tập lệnh bản dựng mặc định cho từng khung: next build
cho Next.js và
ng build
cho Angular. Dịch vụ Lưu trữ ứng dụng sẽ cố gắng tạo các bản dựng có bản dựng tuỳ chỉnh
nhưng không thể đảm bảo chắc chắn thành công.
Cách hoạt động của tính năng tích hợp kho lưu trữ ứng dụng Lưu trữ ứng dụng
Mối kết nối quan trọng giữa kho lưu trữ GitHub và dịch vụ Lưu trữ ứng dụng phần phụ trợ được xử lý bởi Kết nối nhà phát triển! 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 chương trình phụ trợ Lưu trữ ứng dụng, Quy trình làm việc trên giao diện người dùng của Developer Connect hướng dẫn bạn cài đặt Ứng dụng Firebase GitHub. Các bước chính trong quy trình này là:
- Bạn cấp cho Developer Connect quyền Quản trị viên của người quản lý bí mật vai trò. Điều này cho phép hệ thống lưu trữ thông tin xác thực dưới dạng "bí mật" một cách an toàn inch Cloud Secret Manager.
- Bạn cho phép ứng dụng Firebase GitHub truy cập vào GitHub của bạn kho lưu trữ.
- Developer Connect lưu trữ một mã thông báo uỷ quyền GitHub chuyên biệt trong kho lưu trữ bí mật của người quản lý dự án; không sửa đổi hoặc xoá mã thông báo này.
Ngoài ra, tính năng Lưu trữ ứng dụng còn tích hợp với API kiểm tra GitHub để cung cấp kiểm tra bản phát hành. Bước kiểm tra này cho phép bạn xem trạng thái phát hành 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
Dịch vụ Lưu trữ ứng dụng 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ị của Firebase với Google Thông tin xác thực mặc định của ứng dụng. Bằng cách đó, chương trình phụ trợ của bạn có thể giao tiếp với các sản phẩm Firebase khác trong cả quá trình xây dựng và triển khai.
Tài khoản dịch vụ phụ trợ của tính năng Lưu trữ ứng dụng
Trong quá trình tạo và trong thời gian chạy, phần phụ trợ của tính năng Lưu trữ ứng dụng sẽ xác thực với các dịch vụ khác của Google bằng 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 khi bạn bật tính năng Lưu trữ ứng dụng trong lần đầu tiên 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ó rất ít để giúp bạn tạo, chạy và giám sát ứng dụng của mình. Thành phần này cũng có quyền để xác thực SDK dành cho quản trị viên bằng thông tin xác thực mặc định của ứng dụng, đối với thực hiện các thao tác như tải dữ liệu từ Cloud Firestore. Xem Các vai trò Lưu trữ ứng dụng 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 trong bản dựng
hoặc từ một chương trình 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 đối với Vertex AI, bạn
có thể cần thêm
roles/aiplatform.user
hoặc một số vai trò có 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à Dịch vụ lưu trữ ứng dụng tạo để tạo và chạy ứng dụng web của 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 git cam kết.
- Nhánh trực tiếp: Nhánh của kho lưu trữ GitHub được triển khai đến URL đang hoạt động của bạn. Thông thường, đó là nhánh có các nhánh hoặc các nhánh phát triển được hợp nhất.
Các vấn đề và hạn chế đã biết
Bản xem trước Lưu trữ ứng dụng có một số hạn chế đã biết:
- Chưa thể tối ưu hoá hình ảnh.
- Trong một số trường hợp, phần phụ trợ Lưu trữ ứng dụng có thể trả về
Intermittent connection error
thông báo tại URL của ứng dụng của bạn. Việc khắc phục sẽ sẽ có trong bản phát hành sau này. - Tiêu đề kiểm soát bộ nhớ đệm được sửa đổi để giới hạn bộ nhớ đệm CDN ở mức 60 giây; trong trong tương lai, khi tính năng Lưu trữ ứng dụng có thể nhanh chóng xoá hoàn toàn bộ nhớ đệm triển khai, thì giới hạn này sẽ được gỡ bỏ.
- Tiêu đề Set-Cookie sẽ bị xoá khỏi nội dung phản hồi được phân phát thông qua Dữ liệu lưu trữ ứng dụng. Chúng tôi sẽ cung cấp bản sửa lỗi trong bản phát hành sau này.
- Các tệp tĩnh không được lưu vào bộ nhớ đệm được phân phát từ Cloud Run; theo phong cách bản phát hành sau này, chúng sẽ được lưu trữ và phân phát từ máy chủ gốc Lưu trữ ứng dụng để đạt được hiệu suất tốt hơn.
- Các SKU lưu trữ ứng dụng có thể không xuất hiện trên trang sử dụng phụ trợ trong bảng điều khiển của Firebase. Những nội dung này sẽ có trong bản phát hành sau này.
- Bảng điều khiển của Firebase có thể hiển thị thông báo "không tìm thấy bản dựng và không hợp lệ" khi tạo phần phụ trợ.
- Hiện tại, tất cả phần phụ trợ trong cùng một dự án đều dùng chung một tổ chức/tài khoản GitHub. Các tài khoản này có thể được kết nối với nhiều kho lưu trữ thuộc tổ chức/tài khoản đó. Để tạo các phần phụ trợ được kết nối với nhiều tài khoản GitHub, đưa chúng vào các dự án riêng biệt.
- Hiện tại, chúng tôi chỉ hỗ trợ khu vực
us-central1
. - Phần mềm trung gian, viết lại và chuyển hướng Next.js được thực thi trong Cloud Run, được hỗ trợ sau CDN. Vì những thao tác này sẽ không bảo vệ bộ nhớ đệm hãy nhớ đặt lệnh kiểm soát thích hợp cho nội dung bạn đang kết xuất.