Phát hành tiện ích

Trang này giải thích cách bạn có thể xuất bản tiện ích mở rộng trên Trung tâm tiện ích mở rộng.

Trước khi bắt đầu

Để xuất bản tiện ích mở rộng, trước tiên bạn cần đăng ký làm nhà xuất bản tiện ích mở rộng .

Nguồn có thể kiểm chứng

Tất cả các tiện ích mở rộng được xuất bản trên Trung tâm tiện ích mở rộng phải có nguồn được xác minh công khai. Thay vì tải mã nguồn tiện ích mở rộng của bạn trực tiếp lên Trung tâm tiện ích mở rộng, thay vào đó, bạn chỉ định vị trí nguồn và Trung tâm tiện ích mở rộng sẽ tải xuống và xây dựng mã từ đó.

Hiện tại, điều này có nghĩa là cung cấp mã nguồn tiện ích mở rộng của bạn trên kho lưu trữ GitHub công khai.

Tải lên từ một nguồn có thể xác minh được có một số lợi ích:

  • Người dùng có thể kiểm tra mã nguồn của bản sửa đổi cụ thể của tiện ích mở rộng sẽ được cài đặt.
  • Bạn có thể đảm bảo rằng bạn chỉ tải lên những gì bạn định tải lên chứ không phải những công việc đang tiến hành hoặc các tệp bị thất lạc còn lại trong quá trình phát triển.

Chu kỳ phát triển được đề xuất

Các công cụ phát triển Tiện ích mở rộng Firebase hỗ trợ tải lên các phiên bản phát hành trước của tiện ích mở rộng, giúp bạn dễ dàng kiểm tra tiện ích mở rộng và quy trình cài đặt tiện ích mở rộng trong cùng một môi trường mà cuối cùng chúng sẽ được phát hành.

Khả năng này giúp thực hiện một chu kỳ phát triển như sau:

  1. Phát triển và lặp lại nhanh chóng tiện ích mở rộng của bạn bằng Bộ mô phỏng Firebase .

  2. Kiểm tra tiện ích mở rộng của bạn trong một dự án thực bằng cách cài đặt nó từ nguồn cục bộ:

    firebase ext:install /path/to/extension
    firebase deploy --only extensions
    
  3. Tải phiên bản phát hành trước lên Trung tâm tiện ích mở rộng (xem bên dưới). Phân phối liên kết cài đặt để thử nghiệm rộng hơn và lặp lại bằng cách tải lên nhiều phiên bản phát hành trước hơn nếu cần.

  4. Tải phiên bản cuối cùng, ổn định lên Trung tâm tiện ích mở rộng (xem bên dưới) và gửi để xem xét. Nếu tiện ích mở rộng vượt qua quá trình xem xét, tiện ích mở rộng đó sẽ được xuất bản trên Trung tâm tiện ích mở rộng.

  5. Tăng số phiên bản trong tiện extension.yaml và lặp lại chu trình này cho phiên bản tiếp theo của tiện ích mở rộng của bạn.

Tải lên tiện ích mở rộng mới

Để tải lên tiện ích mở rộng lần đầu tiên:

  1. Tùy chọn : Cam kết mã của bạn với kho lưu trữ GitHub công khai.

  2. Chạy lệnh ext:dev:upload của Firebase CLI:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Nguồn địa phương

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

    Trong lời gọi lệnh của bạn, bạn chỉ định những điều sau:

    • ID nhà xuất bản bạn đã đăng ký .

    • Một chuỗi ID sẽ xác định phần mở rộng. Đặt tên cho tiện ích mở rộng của bạn theo định dạng sau: firebase-product - description-of-tasks-performed . Ví dụ: firestore-bigquery-export

    Lệnh sẽ nhắc bạn cung cấp thêm thông tin:

    • Nếu bạn đang tải lên từ GitHub:

      • URL tới kho lưu trữ của tiện ích mở rộng trong GitHub. Lưu ý rằng một kho lưu trữ có thể chứa nhiều tiện ích mở rộng miễn là mỗi tiện ích mở rộng có một gốc duy nhất.

        Khi bạn tải tiện ích mở rộng mới lên lần đầu tiên, kho lưu trữ sẽ được đăng ký làm nguồn chuẩn cho tiện ích mở rộng của bạn.

      • Thư mục trong kho chứa tiện ích mở rộng của bạn.

      • Tham chiếu Git của cam kết mà bạn muốn xây dựng nguồn phiên bản tiện ích mở rộng của mình từ đó. Đây có thể là hàm băm xác nhận, thẻ hoặc tên nhánh.

    • Giai đoạn phát hành của phiên bản bạn đang tải lên.

      Các giai đoạn alpha , betarc (bản phát hành ứng cử viên) dùng để tải lên các phiên bản tiền phát hành để người thử nghiệm cài đặt. Sử dụng một trong các giai đoạn này để tải lên tiện ích mở rộng mới lần đầu.

      Giai đoạn stable được sử dụng để xuất bản các bản phát hành công khai trên Trung tâm tiện ích mở rộng. Tải lên bản phát hành stable sẽ tự động bắt đầu quá trình xem xét và nếu vượt qua, sẽ xuất bản tiện ích mở rộng.

    Lưu ý rằng bạn không chỉ định số phiên bản—giá trị này đến từ tệp extension.yaml . Khi bạn tải lên phiên bản tiện ích mở rộng phát hành trước, số giai đoạn và số tải lên sẽ được thêm vào phiên bản. Ví dụ: nếu extension.yaml chỉ định phiên bản 1.0.1 và bạn tải lên bản phát hành dự kiến, kết quả sẽ là phiên bản 1.0.1-rc.0 ; tải lên một ứng cử viên phát hành khác có cùng phiên bản sẽ tự động tăng số lượng, dẫn đến 1.0.1-rc.1 , v.v.

Bây giờ bạn đã tải lên phiên bản tiền phát hành của tiện ích mở rộng, bạn có thể chia sẻ nó với những người khác để thử nghiệm. Người dùng có thể cài đặt tiện ích mở rộng của bạn theo một trong hai cách:

  • Với bảng điều khiển : Người dùng có thể cài đặt tiện ích mở rộng bằng cách nhấp vào liên kết có định dạng sau:

    https://console.firebase.google.com/project/_/extensions/install?ref=your_publisher_id/your_extension_id@version

    Bạn có thể chia sẻ liên kết trực tiếp với những người thử nghiệm của bạn.

  • Với CLI : Người dùng có thể cài đặt tiện ích mở rộng bằng cách chuyển chuỗi ID tiện ích mở rộng sang lệnh ext:install :

    firebase ext:install your_publisher_id/your_extension_id@version \
        --project=destination_project_id
    

Tải lên phiên bản cập nhật

Sau khi tải lên phiên bản đầu tiên của tiện ích mở rộng, bạn có thể tải lên bản cập nhật để khắc phục sự cố, thêm tính năng hoặc nâng cao giai đoạn phát hành. Khi bạn tải phiên bản mới lên, những người dùng đã cài đặt phiên bản tiện ích mở rộng cũ hơn của bạn sẽ được nhắc nâng cấp trong bảng điều khiển Firebase.

Để tải lên bản cập nhật:

  1. Tùy chọn : Cam kết mã của bạn vào kho lưu trữ Git công khai.

  2. Chạy lệnh ext:dev:upload của Firebase CLI:

    GitHub

    firebase ext:dev:upload your_publisher_id/your_extension_id
    

    Lần này bạn sẽ không được nhắc chỉ định kho lưu trữ GitHub hoặc thư mục gốc của tiện ích mở rộng vì chúng đã được định cấu hình cho tiện ích mở rộng của bạn. Nếu bạn đã cấu trúc lại cấu trúc kho lưu trữ của mình hoặc di chuyển sang kho lưu trữ mới, bạn có thể thay đổi chúng bằng các đối số lệnh --root--repo .

    Nguồn địa phương

    cd /path/to/extension
    firebase ext:dev:upload your_publisher_id/your_extension_id --local
    

Gửi phần mở rộng để xuất bản

Khi bạn sẵn sàng phát hành công khai tiện ích mở rộng của mình:

  1. Cam kết mã của bạn với kho lưu trữ Git công khai. (Bắt buộc đối với các bản phát hành công khai.)

  2. Chạy lệnh ext:dev:upload của Firebase CLI, chỉ định stable làm giai đoạn phát hành:

    firebase ext:dev:upload your_publisher_id/your_extension_id
    
  3. Nếu trước đây bạn đã xuất bản phiên bản tiện ích mở rộng của mình thì việc tải lên bản phát hành ổn định mới sẽ tự động gửi tiện ích mở rộng để xem xét.

    Nếu bạn đã tải lên bản phát hành ổn định đầu tiên của tiện ích mở rộng, hãy tìm tiện ích mở rộng trên trang tổng quan dành cho nhà xuất bản của bạn và nhấp vào Xuất bản lên Trung tâm tiện ích mở rộng .

Sau khi gửi, quá trình xem xét có thể mất vài ngày. Nếu được chấp nhận, tiện ích mở rộng sẽ được xuất bản lên Trung tâm tiện ích mở rộng. Nếu bị từ chối, bạn sẽ nhận được thông báo giải thích lý do; sau đó bạn có thể giải quyết các vấn đề được báo cáo và gửi lại để xem xét.

Để đẩy nhanh quá trình xem xét và tăng cơ hội vượt qua trong lần thử đầu tiên, trước khi gửi, hãy kiểm tra kỹ những điều sau:

  • Bạn đã kiểm tra kỹ lưỡng tiện ích mở rộng và quá trình cài đặt của mình.
  • Tài liệu của bạn đầy đủ, chính xác và hiển thị tốt trong bảng điều khiển Firebase.
  • Tên nhà xuất bản và thương hiệu của bạn xác định rõ ràng và chính xác bạn là nhà xuất bản.
  • Tên, mô tả và biểu tượng của tiện ích mở rộng thể hiện rõ ràng và chính xác mục đích của tiện ích mở rộng của bạn.
  • Bạn đã áp dụng các thẻ hữu ích và chính xác.
  • Bạn đã khai báo trong extension.yaml tất cả các API của Google và không phải của Google mà bạn sử dụng cũng như tất cả các loại sự kiện mà tiện ích của bạn phát ra.
  • Bạn đang yêu cầu quyền truy cập chỉ vào những vai trò cần thiết để tiện ích mở rộng hoạt động và bạn đã giải thích rõ ràng cho người dùng lý do bạn cần quyền truy cập đó.
  • Các tệp nguồn của bạn được cấp phép rõ ràng theo các điều khoản của Apache-2.0 .

Quản lý tiện ích mở rộng đã tải lên và xuất bản

Liệt kê các tiện ích mở rộng đã tải lên của bạn

Để liệt kê các tiện ích mở rộng bạn đã tải lên theo ID nhà xuất bản của mình, hãy thực hiện một trong các thao tác sau:

Trang tổng quan của nhà xuất bản

Xem chúng trên bảng điều khiển của nhà xuất bản .

Firebase CLI

Chạy lệnh ext:dev:list :

firebase ext:dev:list your_publisher_id

Xem việc sử dụng các tiện ích mở rộng đã tải lên của bạn

Để xem việc sử dụng các tiện ích mở rộng bạn đã tải lên theo ID nhà xuất bản của mình, hãy thực hiện một trong các thao tác sau:

Trang tổng quan của nhà xuất bản

Trang tổng quan của nhà xuất bản có số liệu sử dụng tích lũy cho tất cả tiện ích mở rộng của bạn và số liệu riêng lẻ cho từng tiện ích mở rộng.

Firebase CLI

Chạy lệnh ext:dev:usage :

firebase ext:dev:usage your_publisher_id

Ngừng sử dụng phiên bản của tiện ích mở rộng

Tại một thời điểm nào đó, bạn có thể muốn ngừng sử dụng phiên bản tiện ích mở rộng cũ của mình. Ví dụ: nếu bạn phát hành phiên bản mới sửa một lỗi nghiêm trọng hoặc cập nhật phần phụ thuộc bằng một bản cập nhật bảo mật quan trọng thì điều quan trọng là phải ngăn người dùng mới cài đặt phiên bản cũ và khuyến khích người dùng hiện tại nâng cấp.

Để ngừng sử dụng phiên bản của tiện ích mở rộng, hãy thực hiện một trong các thao tác sau:

Trang tổng quan của nhà xuất bản

  1. Trên trang tổng quan của nhà xuất bản , hãy nhấp vào tiện ích mở rộng để mở chế độ xem chi tiết.
  2. Chọn phiên bản bạn muốn ngừng sử dụng.
  3. Nhấp vào Phiên bản không dùng nữa .

Firebase CLI

Chạy lệnh ext:dev:deprecate :

firebase ext:dev:deprecate your_publisher_id/your_extension_id versions \
    [--message "deprecation_message"]

Bạn có thể chỉ định một phiên bản hoặc một loạt phiên bản. Ví dụ:

  • 1.0.2
  • 1.1.0-1.1.7
  • <1.2.0
  • 1.1.*

Các phiên bản tiện ích mở rộng không được dùng nữa không được liệt kê trên Trung tâm tiện ích mở rộng và không thể cài đặt được. Người dùng có dự án đã cài đặt phiên bản không được dùng nữa sẽ thấy thông báo khuyến khích họ nâng cấp; họ vẫn có thể sử dụng và định cấu hình lại tiện ích mở rộng trong thời gian chờ đợi.

Nếu mọi phiên bản của tiện ích mở rộng đều không được dùng nữa thì tiện ích mở rộng đó sẽ được coi là không được dùng nữa và nó sẽ bị xóa khỏi Trung tâm tiện ích mở rộng. Việc tải lên phiên bản mới của tiện ích mở rộng không được dùng nữa sẽ tự động bắt đầu quá trình xem xét và sau khi được chấp nhận, hãy xuất bản lại phiên bản đó trên Trung tâm tiện ích mở rộng.

Để hủy bỏ việc ngừng sử dụng, hãy sử dụng trang tổng quan của nhà xuất bản hoặc chạy lệnh ext:dev:undeprecate của Firebase CLI:

firebase ext:dev:undeprecate your_publisher_id/your_extension_id versions

Phụ lục: Khắc phục sự cố lỗi xây dựng

Khi bạn tải tiện ích mở rộng của mình lên, phần phụ trợ trước tiên sẽ xây dựng mã nguồn của bạn bằng quy trình sau:

  1. Sao chép kho lưu trữ GitHub của bạn và kiểm tra tham chiếu nguồn được chỉ định.

  2. Cài đặt các phần phụ thuộc NPM bằng cách chạy npm clean-install trong mọi thư mục nguồn chức năng được chỉ định trong tiện ích extension.yaml (xem sourceDirectory trong tài nguyên Chức năng đám mây ).

    Lưu ý những điều dưới đây:

    • Mỗi tệp package.json phải có tệp package-lock.json tương ứng. Để biết thêm thông tin, xem npm-ci .

    • Các tập lệnh sau cài đặt sẽ không được chạy trong quá trình cài đặt phụ thuộc. Nếu bản dựng mã nguồn của bạn dựa trên các tập lệnh sau cài đặt, hãy cấu trúc lại nó trước khi tải lên.

  3. Xây dựng mã của bạn bằng cách chạy npm run build trong mọi thư mục nguồn hàm được chỉ định trong extension.yaml .

Chỉ thư mục gốc của tiện ích mở rộng của bạn mới được lưu trong gói tiện ích mở rộng cuối cùng sẽ được chia sẻ.

Nếu bạn gặp lỗi bản dựng khi tải tiện ích lên, hãy sao chép cục bộ các bước xây dựng ở trên vào một thư mục mới cho đến khi không còn lỗi, sau đó thử tải lên lại.