Kiểm thử cục bộ ứng dụng web của bạn, chia sẻ các thay đổi với người khác, sau đó triển khai trực tiếp

Trước khi triển khai cho trang web đang hoạt động, bạn nên xem và kiểm thử các thay đổi. Firebase Hosting cho phép bạn xem và kiểm thử các thay đổi trên máy, cũng như tương tác với các tài nguyên dự án phụ trợ được mô phỏng. Nếu bạn cần đồng đội xem và kiểm tra các thay đổi của bạn, Hosting có thể tạo URL xem trước tạm thời, có thể chia sẻ cho trang web của bạn. Thậm chí, chúng tôi còn hỗ trợ Tích hợp GitHub để triển khai từ dữ liệu lấy dữ liệu yêu cầu.

Trước khi bắt đầu

Hãy hoàn tất các bước được nêu trên Hosting trang Bắt đầu, cụ thể là các nhiệm vụ sau:

  1. Cài đặt hoặc cập nhật Giao diện dòng lệnh (CLI) Firebase lên phiên bản mới nhất.
  2. Kết nối thư mục dự án cục bộ (chứa nội dung của ứng dụng) với Dự án Firebase.

Bạn có thể tuỳ ý triển khai nội dung và cấu hình Hosting của ứng dụng, nhưng cách này là không phải là điều kiện tiên quyết để thực hiện các bước trên trang này.

Bước 1: Thử nghiệm cục bộ

Nếu bạn đang thực hiện lặp lại nhanh hoặc muốn ứng dụng của mình tương tác với các thành phần được mô phỏng tài nguyên của dự án phụ trợ, bạn có thể kiểm tra nội dung và cấu hình Hosting của mình cục bộ. Khi thử nghiệm cục bộ, Firebase phân phát ứng dụng web của bạn tại một trang web được lưu trữ cục bộ URL.

Hosting là một phần của Firebase Local Emulator Suite, cho phép ứng dụng tương tác với nội dung và cấu hình Hosting đã mô phỏng, cũng như các tài nguyên dự án đã mô phỏng (hàm, cơ sở dữ liệu và quy tắc) nếu muốn.

  1. (Không bắt buộc) Theo mặc định, ứng dụng được lưu trữ cục bộ của bạn sẽ tương tác với thực, không được mô phỏng, tài nguyên của dự án (các hàm, cơ sở dữ liệu, quy tắc, v.v.). Thay vào đó, bạn có thể tuỳ ý kết nối ứng dụng của mình để sử dụng mọi tài nguyên dự án đã mô phỏng mà bạn đã định cấu hình. Tìm hiểu thêm: Realtime Database | Cloud Firestore | Cloud Functions

  2. Từ gốc của thư mục dự án cục bộ, hãy chạy lệnh sau:

    firebase emulators:start
  3. Mở ứng dụng web của bạn tại URL cục bộ do CLI trả về (thường là http://localhost:5000).

  4. Để cập nhật các thay đổi đối với URL cục bộ, hãy làm mới trình duyệt của bạn.

Kiểm thử từ các thiết bị cục bộ khác

Theo mặc định, trình mô phỏng chỉ phản hồi các yêu cầu của localhost. Chiến dịch này có nghĩa là bạn có thể truy cập nội dung được lưu trữ từ web trong máy tính của mình mà không phải từ các thiết bị khác trên mạng của bạn. Nếu bạn muốn thử nghiệm từ các thiết bị cục bộ khác, hãy định cấu hình firebase.json như sau:

"emulators": {
    // ...

    "hosting": {
      "port": 5000,
      "host": "0.0.0.0"
    }
  }

Bước 2: Xem trước và chia sẻ

Nếu muốn người khác xem các thay đổi đối với ứng dụng web của bạn trước khi chính thức phát hành, bạn có thể sử dụng kênh xem trước.

Sau khi bạn triển khai cho kênh xem trước, Firebase sẽ phân phát ứng dụng web của bạn tại "preview URL" ("URL xem trước") là URL tạm thời và có thể chia sẻ. Khi sử dụng URL xem trước, ứng dụng web của bạn tương tác với phần phụ trợ thực cho tất cả các tài nguyên của dự án (bằng ngoại lệ của mọi "được ghim" trong các lần viết lại config).

Xin lưu ý rằng mặc dù URL bản xem trước rất khó đoán (vì chúng có chứa mã băm), chúng đều công khai. Vì vậy, bất kỳ ai biết URL đều có thể truy cập URL đó.

  1. Từ thư mục gốc của dự án cục bộ, hãy chạy lệnh sau:

    firebase hosting:channel:deploy CHANNEL_ID

    Thay thế CHANNEL_ID bằng một chuỗi không có khoảng trắng (ví dụ: feature_mission-2-mars). Mã nhận dạng này sẽ được dùng để tạo URL xem trước liên kết với kênh xem trước.

  2. Mở ứng dụng web của bạn tại URL xem trước do CLI trả về. Ứng dụng sẽ trông tương tự như sau: PROJECT_ID--CHANNEL_ID-RANDOM_HASH.web.app

  3. Để cập nhật các thay đổi đối với URL xem trước, hãy chạy lại lệnh đó. Nhãn hiệu hãy nhớ chỉ định cùng một CHANNEL_ID trong lệnh.

Tìm hiểu về cách quản lý kênh xem trước, bao gồm cả cách đặt thời hạn của kênh.

Firebase Hosting hỗ trợ một Hành động GitHub tự động tạo và cập nhật URL xem trước khi bạn thực hiện thay đổi cho một yêu cầu lấy dữ liệu (pull request). Tìm hiểu cách thiết lập và sử dụng Hành động GitHub này.

Bước 3: Triển khai trực tiếp

Khi bạn đã sẵn sàng chia sẻ các thay đổi của mình với mọi người, hãy triển khai Hosting nội dung và cấu hình cho kênh phát trực tiếp của bạn. Firebase cung cấp một vài các lựa chọn cho bước này tuỳ thuộc vào trường hợp sử dụng của bạn (xem các lựa chọn bên dưới).

Cách 1: Sao chép từ một kênh xem trước sang kênh trực tiếp của bạn

Tùy chọn này giúp bạn yên tâm rằng bạn đang triển khai cho kênh trực tiếp của mình chính xác nội dung và cấu hình mà bạn đã thử nghiệm trong một kênh xem trước. Tìm hiểu thêm giới thiệu nhân bản phiên bản.

  1. Từ bất kỳ thư mục nào, hãy chạy lệnh sau:

    firebase hosting:clone SOURCE_SITE_ID:SOURCE_CHANNEL_ID TARGET_SITE_ID:live

    Thay thế từng phần giữ chỗ bằng:

    • SOURCE_SITE_IDTARGET_SITE_ID: Đây là các mã nhận dạng trên Hosting trang web chứa các kênh đó.

      • Đối với trang web Hosting mặc định, hãy sử dụng mã dự án Firebase.
      • Bạn có thể chỉ định các trang web nằm trong cùng một dự án Firebase hoặc thậm chí là trong các dự án Firebase khác nhau.
    • SOURCE_CHANNEL_ID: Đây là giá trị nhận dạng kênh hiện đang phân phát phiên bản bạn muốn triển khai cho kênh trực tiếp của mình.

      • Đối với kênh phát trực tiếp, hãy sử dụng live làm mã nhận dạng kênh.
  2. Xem các thay đổi của bạn (bước tiếp theo).

Lựa chọn 2: Triển khai từ thư mục dự án cục bộ lên kênh trực tiếp

Lựa chọn này giúp bạn linh hoạt điều chỉnh cấu hình dành riêng cho kênh phát trực tiếp hoặc triển khai ngay cả khi bạn chưa sử dụng kênh xem trước.

  1. Từ thư mục gốc của dự án cục bộ, hãy chạy lệnh sau:

    firebase deploy --only hosting
  2. Xem các thay đổi của bạn (bước tiếp theo).

Bước 4: Xem các thay đổi trên trang web đang hoạt động

Cả hai lựa chọn ở trên đều triển khai nội dung và cấu hình Hosting của bạn cho các trang web sau:

  • Miền con được Firebase cấp phép cho trang web Hosting mặc định của bạn và bất kỳ Hosting trang web bổ sung:
    SITE_ID.web.app (như PROJECT_ID.web.app)
    SITE_ID.firebaseapp.com (như PROJECT_ID.firebaseapp.com)

  • Mọi miền tuỳ chỉnh mà bạn đã kết nối với (các) trang web Hosting

Để hạn chế việc triển khai cho một trang web Hosting cụ thể, hãy chỉ định một mục tiêu triển khai trong lệnh CLI.

Thông tin và hoạt động triển khai khác

Thêm nhận xét cho quá trình triển khai

Bạn có thể tuỳ ý thêm nhận xét vào triển khai. Nhận xét này sẽ hiển thị cùng với thông tin triển khai khác trên Trang tổng quan của Hosting trong bảng điều khiển Firebase. Ví dụ:

firebase deploy --only hosting -m "Deploying the best new feature ever."

Thêm các nhiệm vụ có tập lệnh triển khai trước và sau triển khai

Bạn có thể tuỳ ý kết nối tập lệnh shell với lệnh firebase deploy để thực hiện các tác vụ triển khai trước hoặc sau khi triển khai. Ví dụ: một hook postDeploy có thể thông báo cho quản trị viên về việc triển khai nội dung trang web mới. Tham khảo Tài liệu CLI Firebase để biết thêm thông tin chi tiết.

Lưu nội dung đã triển khai vào bộ nhớ đệm

Khi có yêu cầu đối với nội dung tĩnh, Firebase Hosting sẽ tự động lưu nội dung trên CDN vào bộ nhớ đệm. Nếu bạn triển khai lại nội dung trang web, Firebase tự động xoá tất cả nội dung tĩnh đã lưu vào bộ nhớ đệm trên CDN để sẽ nhận được nội dung mới của bạn.

Xin lưu ý rằng bạn có thể định cấu hình lưu nội dung động vào bộ nhớ đệm.

Phân phát qua HTTPS

Đảm bảo rằng tất cả tài nguyên bên ngoài không được lưu trữ trên Firebase Hosting đều được tải qua SSL (HTTPS), bao gồm cả mọi tập lệnh bên ngoài. Hầu hết các trình duyệt đều không cho phép người dùng tải "nội dung hỗn hợp" (SSL và không phải SSL lưu lượng truy cập).

Xoá tệp

Trong Firebase Hosting, cách chính để xoá các tệp đã chọn từ trang web đã triển khai là xoá các tệp trên máy, sau đó triển khai lại.

Các bước tiếp theo