Sử dụng monorepos với tính năng Lưu trữ ứng dụng

Nhờ monorepos, bạn có thể tổ chức và quản lý nhiều dự án trong một thư mục. Hướng dẫn này mô tả cách bắt đầu triển khai các ứng dụng dựa trên Nx bằng Lưu trữ ứng dụng.

Triển khai monorepos bằng Firebase CLI

Tính năng hỗ trợ mopo được tích hợp vào quy trình thiết lập phụ trợ do Firebase gọi Lệnh CLI apphosting:backends:create. Sau khi bạn tham gia quy trình này và chỉ định kho lưu trữ GitHub mà bạn đã chọn, bạn sẽ được nhắc chỉ định thư mục gốc của ứng dụng thư mục tương ứng với kho lưu trữ của bạn; tại câu lệnh này, hãy chuyển đường dẫn đến mà bạn muốn triển khai bên trong monorepo:

$ firebase apphosting:backends:create --project [project-name] --location us-central1
i  === Import a GitHub repository
✔  Connected with GitHub successfully

? Which GitHub repo do you want to deploy? gh-username/nx-monorepo
? Specify your app's root directory relative to your repository path/to/app

Ví dụ: dưới đây là các thành phần sẽ được triển khai với Nx sau cấu trúc dự án và "ứng dụng mục tiêu" dưới dạng ứng dụng bạn muốn tạo và triển khai:

.
    ├── lib
    ├── apps
    │   └── target-app
    │       ├── project.json
    │       └── src
    │           └── ...
    ├── nx.json
    ├── package-lock.json
    └── package.json

Thư mục gốc của ứng dụng so với kho lưu trữ của bạn là apps/target-app.

Triển khai monorepos bằng bảng điều khiển của Firebase

Tính năng hỗ trợ mopo được tích hợp vào quy trình thiết lập phần phụ trợ đồ hoạ trong Firebase Google Play. Khi được nhắc về "Thư mục gốc" trong phần "Cài đặt triển khai" chỉ định đường dẫn đến ứng dụng mà bạn muốn triển khai bên trong monorepo:

Ảnh chụp màn hình khung hiển thị tạo phần phụ trợ của bảng điều khiển

Khắc phục sự cố khi triển khai monorepo

  • Nếu bạn rời khỏi "thư mục gốc" trường trống trong quá trình thiết lập phụ trợ, Ứng dụng Dịch vụ lưu trữ vẫn có thể xây dựng và triển khai dự án mục tiêu của người dùng nếu giá trị này được chỉ định trong defaultProject của tệp nx.json có liên quan cấu hình .
  • Nếu bạn không chỉ định "thư mục gốc" hoặc defaultProject, thì bản dựng sẽ không thành công và hiển thị một thông báo cho biết Dịch vụ Lưu trữ ứng dụng không thể tìm thấy dự án để nhắm mục tiêu bên trong monorepo Nx.
  • Đối với các ứng dụng Nx + Angular, bạn phải dùng ứng dụng Angular Builder để tạo ứng dụng. Chiến lược phát hành đĩa đơn Trình tạo ứng dụng góc được chỉ định trong project.json